Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
useless cosmetics
authormquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 20 Oct 2009 13:08:20 +0000 (13:08 +0000)
committermquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 20 Oct 2009 13:08:20 +0000 (13:08 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@6801 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/gras/Msg/gras_msg_listener.c
src/gras/Msg/msg_private.h
src/gras/gras.c

index e4930fc..b583d58 100644 (file)
@@ -103,28 +103,22 @@ gras_msg_listener_t gras_msg_listener_launch(xbt_queue_t msg_exchange)
 }
 
 #include "gras/Virtu/virtu_private.h"   /* procdata_t content */
-void gras_msg_listener_shutdown(gras_msg_listener_t l)
+void gras_msg_listener_shutdown()
 {
   gras_procdata_t *pd = gras_procdata_get();
   char kill = '0';
   DEBUG0("Listener quit");
 
-
   if (pd->listener)
     gras_msg_send(pd->listener->wakeup_sock_master_side, "_wakeup_listener",
-                  &kill);
+          &kill);
 
-  /* FIXME: thread_join is not implemented in SG (remove next conditional when fixed)
-   * But I guess it's not a big deal since we're terminating the thread mainly to
-   * make it free its OS locks on darwin.
-   * darwin is definitly different from the neat & nice SG world */
-  if (gras_if_RL())
-    xbt_thread_join(pd->listener->listener);
+  xbt_thread_join(pd->listener->listener);
 
   //  gras_socket_close(pd->listener->wakeup_sock_master_side); FIXME: uncommenting this leads to deadlock at terminaison
-  xbt_queue_free(&l->incomming_messages);
-  xbt_queue_free(&l->socks_to_close);
-  xbt_free(l);
+  xbt_queue_free(&pd->listener->incomming_messages);
+  xbt_queue_free(&pd->listener->socks_to_close);
+  xbt_free(pd->listener);
 }
 
 void gras_msg_listener_awake()
index 484bdd3..353d5d5 100644 (file)
@@ -76,7 +76,7 @@ void gras_msg_send_ext(gras_socket_t sock,
 typedef struct s_gras_msg_listener_ *gras_msg_listener_t;
 gras_msg_listener_t gras_msg_listener_launch(xbt_queue_t msg_exchange);
 /* The caller has the responsability to cleanup the queues himself */
-void gras_msg_listener_shutdown(gras_msg_listener_t);
+void gras_msg_listener_shutdown(void);
 
 /**
  * gras_cblist_t:
index f718ca1..4ec704d 100644 (file)
@@ -150,7 +150,7 @@ void gras_exit(void)
   amok_exit();
   gras_moddata_leave();
   pd = gras_procdata_get();
-  gras_msg_listener_shutdown(pd->listener);
+  gras_msg_listener_shutdown();
   gras_process_exit();
   if (--gras_running_process == 0) {
     gras_msg_exit();