- //stack_dump("send ", L);
- m_task_t tk = checkTask(L, 1);
- const char *mailbox = luaL_checkstring(L, 2);
- lua_pop(L, 1); // remove the string so that the task is on top of it
- MSG_task_set_data(tk, L); // Copy my stack into the task, so that the receiver can copy the lua task directly
- MSG_error_t res = MSG_task_send(tk, mailbox);
- while (MSG_task_get_data(tk) != NULL) // Don't mess up with my stack: the receiver didn't copy the data yet
- MSG_process_sleep(0); // yield
+ m_task_t task = checkTask(L, 1);
+ const char* mailbox = luaL_checkstring(L, 2);
+ /* task mailbox */
+ lua_settop(L, 1);
+ /* task */
+ /* copy my stack into the task, so that the receiver can copy the lua task */
+ MSG_task_set_data(task, L);
+ MSG_error_t res = MSG_task_send(task, mailbox);
+ while (MSG_task_get_data(task) != NULL) {
+ /* don't mess up with my stack: the receiver didn't copy the data yet */
+ MSG_process_sleep(0);
+ }