-/**
- * Static Binding for the Splay methods : event.sleep :
- * it use MSG_task_irecv with MSG_comm_wait
- */
-static int Task_splay_irecv(lua_State *L)
-{
- m_task_t task = NULL;
- msg_comm_t comm = NULL; //current communication to receive
- const char *mailbox = luaL_checkstring(L, -2);
- double timeout = luaL_checknumber(L, -1);
- comm = MSG_task_irecv(&task, mailbox);
- MSG_comm_wait(comm, timeout);
- if (MSG_comm_get_status(comm) == MSG_OK)
- {
- lua_State *sender_stack = MSG_task_get_data(task);
- lua_xmove(sender_stack, L, 1); // copy the data directly from sender's stack
- MSG_task_set_data(task, NULL);
- MSG_comm_destroy(comm);
- }
-
- return 1;
-}
-
-static int Task_splay_isend(lua_State *L)