- gras_socket_t sock_iter; /* iterating over all sockets */
- int cursor;
-
- DEBUG3("select on %s@%s with timeout=%f",
- SIMIX_process_get_name(SIMIX_process_self()),
- SIMIX_host_get_name(SIMIX_host_self()),
- timeout);
+ gras_socket_t sock_iter; /* iterating over all sockets */
+ unsigned int cursor;
+
+ XBT_DEBUG("select on %s@%s with timeout=%f",
+ SIMIX_process_self_get_name(),
+ SIMIX_host_self_get_name(), timeout);
+ if (timeout >= 0) {
+ xbt_queue_shift_timed(pd->msg_selectable_sockets,
+ &active_socket, timeout);
+ } else {
+ xbt_queue_shift(pd->msg_selectable_sockets, &active_socket);
+ }