From 7d42e8dbd166e75d27c61f2474d473057e46e0bb Mon Sep 17 00:00:00 2001 From: donassbr Date: Wed, 18 Jul 2007 15:27:01 +0000 Subject: [PATCH] Broken code git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@3860 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- src/gras/Msg/gras_msg_listener.c | 19 +++++++++++++++---- src/gras/Transport/rl_transport.c | 1 - src/gras/Transport/transport.c | 1 + 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/gras/Msg/gras_msg_listener.c b/src/gras/Msg/gras_msg_listener.c index 32dee00641..32c613ffb1 100644 --- a/src/gras/Msg/gras_msg_listener.c +++ b/src/gras/Msg/gras_msg_listener.c @@ -28,11 +28,22 @@ 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; while (1) { - msg.expe = gras_trp_select(1000); - gras_msg_recv(msg.expe, &msg); - xbt_queue_push(me->incomming_messages, &msg); + 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; + } } } diff --git a/src/gras/Transport/rl_transport.c b/src/gras/Transport/rl_transport.c index 83a4f4499d..7f47f8b635 100644 --- a/src/gras/Transport/rl_transport.c +++ b/src/gras/Transport/rl_transport.c @@ -22,7 +22,6 @@ gras_socket_t _gras_lastly_selected_socket = NULL; * * if timeout<0, we ought to implement the adaptative timeout (FIXME) * - * if timeout=0, do not wait for new message, only handle the ones already there. * * if timeout>0 and no message there, wait at most that amount of time before giving up. */ diff --git a/src/gras/Transport/transport.c b/src/gras/Transport/transport.c index 27f5274fc7..e2b6ff87e2 100644 --- a/src/gras/Transport/transport.c +++ b/src/gras/Transport/transport.c @@ -302,6 +302,7 @@ gras_socket_client_ext(const char *host, xbt_dynar_pop(((gras_trp_procdata_t) gras_libdata_by_id(gras_trp_libdata_id))->sockets,NULL); free(sock); + xbt_backtrace_display(&e); RETHROW; } -- 2.20.1