wake_up的用法是什么(argv,fd,WK_FD)

时间:2013-06-03 12:34:16

标签: g-wan

谁能说出如何在gwan中使用wake_up()?

// tell G-WAN when to run a script again (for the same request)
// type: WK_MS | WK_FD
#define WK_MS 1  // milliseconds
#define WK_FD 2  // file descriptor
void wake_up(char *argv[], int delay_or_fd, int type);

是否用于替换sleep()?

1 个答案:

答案 0 :(得分:1)

使用这些函数查看示例 - 请注意,上次我测试它们时,它们不起作用(这可能已经修复或者可能是我的使用错误,但是如果你'重新使用它们,首先尝试这些例子,看看它们是否有效。

简而言之:

使用WK_MS时,它的行为接近于睡眠函数,不同之处在于,在经过一段时间之后再次调用函数(而不是继续调用它的位置),并且在wake_up调用之后继续执行。所以它更像是“在X ms之后再次执行我”。

使用WK_FD,只要在提供的文件描述符上有新数据,就应该再次调用脚本(例如用于拖尾自建日志机制或理论上用于实时通信,如websockets,但我从来没有得到CLIENT_SOCKET使用它,因此,如果事先确实是文件描述符,请小心检查你传递的任何内容)