More.
authorviric@llimona
Wed, 21 Mar 2007 23:49:36 +0100
changeset 4 110d7bfe2d51
parent 3 2fb8a6bdd024
child 5 bc5e251418f3
More.
client.c
msg.h
msgdump.c
server.c
--- a/client.c	Wed Mar 21 23:37:25 2007 +0100
+++ b/client.c	Wed Mar 21 23:49:36 2007 +0100
@@ -30,6 +30,7 @@
         if (res == 0)
             break;
         assert(res == sizeof(m));
+        msgdump(&m);
         if (m.type == NEWJOB_OK)
             ;
     }
--- a/msg.h	Wed Mar 21 23:37:25 2007 +0100
+++ b/msg.h	Wed Mar 21 23:49:36 2007 +0100
@@ -3,6 +3,7 @@
 enum
 {
     CMD_LEN=500
+    LINE_LEN=500
 };
 
 enum msg_types
@@ -13,6 +14,7 @@
     RUNJOB,
     ENDJOB,
     LIST,
+    LIST_LINE,
 };
 
 struct msg
@@ -24,6 +26,7 @@
         char command[CMD_LEN];
         int jobid;
         int errorlevel;
+        char command[LINE_LEN];
     } u;
 };
 
--- a/msgdump.c	Wed Mar 21 23:37:25 2007 +0100
+++ b/msgdump.c	Wed Mar 21 23:49:36 2007 +0100
@@ -16,7 +16,7 @@
             break;
         case NEWJOB_OK:
             printf(" NEWJOB_OK\n");
-            printf(" JobID: '%s'\n", m->u.jobid);
+            printf(" JobID: '%i'\n", m->u.jobid);
             break;
         case RUNJOB:
             printf(" RUNJOB\n");
--- a/server.c	Wed Mar 21 23:37:25 2007 +0100
+++ b/server.c	Wed Mar 21 23:49:36 2007 +0100
@@ -28,6 +28,7 @@
 static enum Break
     client_read(int index);
 static void end_server(int ls);
+static s_newjob_ok(int index);
 
 struct Client_conn
 {
@@ -89,7 +90,6 @@
             if (client_cs[i].socket > maxfd)
                 maxfd = client_cs[i].socket;
         }
-        printf("select of %i\n", nconnections);
         select(maxfd + 1, &readset, NULL, NULL, NULL);
         if (FD_ISSET(ls,&readset))
         {
@@ -167,6 +167,7 @@
     {
         client_cs[index].jobid = s_newjob(&m);
         client_cs[index].hasjob = 1;
+        s_newjob_ok(index);
     }
 
     if (m.type == LIST)
@@ -174,3 +175,21 @@
 
     return NOBREAK; /* normal */
 }
+
+static s_newjob_ok(int index)
+{
+    int s;
+    struct msg m;
+    int res;
+    
+    assert(client_cs[index].hasjob);
+
+    s = client_cs[index].socket;
+
+    m.type = NEWJOB_OK;
+    m.u.jobid = client_cs[index].jobid;
+
+    res = write(s, &m, sizeof(m));
+    if(res == -1)
+        perror("write");
+}