谁能说出如何在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()?
答案 0 :(得分:1)
使用这些函数查看示例 - 请注意,上次我测试它们时,它们不起作用(这可能已经修复或者可能是我的使用错误,但是如果你'重新使用它们,首先尝试这些例子,看看它们是否有效。
简而言之:
使用WK_MS时,它的行为接近于睡眠函数,不同之处在于,在经过一段时间之后再次调用函数(而不是继续调用它的位置),并且在wake_up调用之后继续执行。所以它更像是“在X ms之后再次执行我”。
使用WK_FD,只要在提供的文件描述符上有新数据,就应该再次调用脚本(例如用于拖尾自建日志机制或理论上用于实时通信,如websockets,但我从来没有得到CLIENT_SOCKET使用它,因此,如果事先确实是文件描述符,请小心检查你传递的任何内容)