0

g_poll() 函数返回-1 "on error or if the call was interrupted"。(参见:https ://developer.gnome.org/glib/2.28/glib-The-Main-Event-Loop.html#g-poll )。

如果g_poll返回-1,我如何确定这是因为呼叫被中断还是有错误?

如果是错误,我如何确定错误的原因?看看就够了errno吗?

4

1 回答 1

4

是的。检查errno是否g_poll()返回-1。该文件还说

gpoll()轮询 fds,与 poll() 系统调用一样,但可移植。
在没有 poll() 的系统上,它是使用 select() 模拟的。

g_poll()使用poll()select()内部。
因此,请检查通过和errno设置为各种值的各种场景poll()select()

于 2013-08-12T05:15:17.917 回答