Browse Source

two workers can run concurrently now

max 8 years ago
parent
commit
d0c722242c
3 changed files with 12 additions and 10 deletions
  1. 6 4
      test/mycoagent.c
  2. 3 2
      test/mycoworker.c
  3. 3 4
      test/mycoworker2.c

+ 6 - 4
test/mycoagent.c

@@ -18,17 +18,19 @@ int main(int argc, char **argv) {
         return 1;
     }
 
-    daemon_message_queue_id = myco_agent_register("MYAGENT_1");
     worker_message_queue_id = myco_create_private_message_queue();
     worker_pid = myco_worker_start(worker_message_queue_id, argv[1]);
 
-    while (myco_worker_is_running(worker_pid) == 0) {
+    daemon_message_queue_id = myco_agent_register(argv[1]);
+
+    //while (myco_worker_is_running(worker_pid) == 0) {
+    while (1) {
         msg = myco_receive(worker_message_queue_id);
         if (strcmp(msg.message, "WORKER: ALLOCATED MEMORY") == 0) {
             if (DEBUG) {
                 printf("%s\n", msg.message);
             }
-            myco_agent_register_resource(daemon_message_queue_id, "MYAGENT_1", msg.resource_name, msg.resource_transactional, worker_pid, msg.resource_size, msg.resource_pointer);
+            myco_agent_register_resource(daemon_message_queue_id, argv[1], msg.resource_name, msg.resource_transactional, worker_pid, msg.resource_size, msg.resource_pointer);
         }
         if (strcmp(msg.message, "WORKER: FREED MEMORY") == 0) {
             if (DEBUG) {
@@ -56,7 +58,7 @@ int main(int argc, char **argv) {
         }
     }
 
-    myco_agent_unregister("MYAGENT_1", daemon_message_queue_id);
+    myco_agent_unregister(argv[1], daemon_message_queue_id);
 
 
     return EXIT_SUCCESS;

+ 3 - 2
test/mycoworker.c

@@ -43,7 +43,8 @@ int main(int argc, char **argv) {
         //printf("%p: %d\n", &ptr[i], ptr[i]);
     }
 
-    sleep(2);
+    sprintf(msg.message, "WORKER: REQUESTING RESOURCE LIST");
+    myco_send(message_queue_id, msg);
 
     myco_free(resource_pointer);
     sprintf(msg.message, "WORKER: FREED MEMORY");
@@ -51,7 +52,7 @@ int main(int argc, char **argv) {
     msg.resource_pointer = resource_pointer;
     myco_send(message_queue_id, msg);
 
-    sprintf(msg.message, "WORKER: SHUTTING DOWN foobar");
+    sprintf(msg.message, "WORKER: SHUTTING DOWN");
     myco_send(message_queue_id, msg);
 
     return 0;

+ 3 - 4
test/mycoworker2.c

@@ -21,12 +21,11 @@ int main(int argc, char **argv) {
     message msg;
     message_queue_id = atoi(argv[0]);
 
-    sprintf(msg.message, "WORKER: REQUESTING RESOURCE RESOURCE_1\n");
+    sprintf(msg.message, "WORKER: REQUESTING RESOURCE");
+    sprintf(msg.resource_name, "RESOURCE_1");
     myco_send(message_queue_id, msg);
 
-    sleep(2);
-
-    sprintf(msg.message, "WORKER: SHUTTING DOWN\n");
+    sprintf(msg.message, "WORKER: SHUTTING DOWN");
     myco_send(message_queue_id, msg);
 
     return 0;