From 80a7ae91cc649d21e96ea4ea1b3f17364494f546 Mon Sep 17 00:00:00 2001 From: mquinson Date: Mon, 6 Aug 2007 18:26:09 +0000 Subject: [PATCH] More debugging, kill dead includes, and give a name to the listener thread git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@3998 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- src/gras/Msg/gras_msg_listener.c | 40 ++++++++++++++++---------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/src/gras/Msg/gras_msg_listener.c b/src/gras/Msg/gras_msg_listener.c index 32c613ffb1..c1862247c8 100644 --- a/src/gras/Msg/gras_msg_listener.c +++ b/src/gras/Msg/gras_msg_listener.c @@ -14,11 +14,7 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(gras_msg_read,gras_msg,"Message reader thread"); #include "xbt/queue.h" #include "xbt/synchro.h" -//#include "gras/Virtu/virtu_interface.h" -//#include "gras/DataDesc/datadesc_interface.h" #include "gras/Transport/transport_interface.h" /* gras_select */ -//#include "portable.h" /* execinfo when available to propagate exceptions */ - typedef struct s_gras_msg_listener_ { xbt_queue_t incomming_messages; @@ -28,22 +24,24 @@ typedef struct s_gras_msg_listener_ { static void listener_function(void *p) { gras_msg_listener_t me = (gras_msg_listener_t)p; s_gras_msg_t msg; - xbt_ex_t e; - int found =0; + xbt_ex_t e; + int found =0; + DEBUG0("I'm the listener"); while (1) { - TRY { - msg.expe = gras_trp_select(0.5); - found =1; - } - CATCH(e) { - // gras_os_sleep(0.01); - - } - if (found) { - gras_msg_recv(msg.expe, &msg); - xbt_queue_push(me->incomming_messages, &msg); - found =0; - } + TRY { + DEBUG0("Select for .5 sec"); + msg.expe = gras_trp_select(0.5); + found =1; + DEBUG0("Select returned something"); + } + CATCH(e) { + xbt_ex_free(e); + } + if (found) { + gras_msg_recv(msg.expe, &msg); + xbt_queue_push(me->incomming_messages, &msg); + found =0; + } } } @@ -51,13 +49,15 @@ gras_msg_listener_t gras_msg_listener_launch(xbt_queue_t msg_exchange){ gras_msg_listener_t arg = xbt_new0(s_gras_msg_listener_t,1); + DEBUG0("Launch listener"); arg->incomming_messages = msg_exchange; - arg->listener = xbt_thread_create(listener_function,arg); + arg->listener = xbt_thread_create("listener",listener_function,arg); return arg; } void gras_msg_listener_shutdown(gras_msg_listener_t l) { + DEBUG0("Listener quit"); xbt_thread_cancel(l->listener); xbt_queue_free(&l->incomming_messages); xbt_free(l); -- 2.20.1