函数
GLibUnixPipeclose
自从:2.80
声明 [src]
gboolean
g_unix_pipe_close (
GUnixPipe* self,
GUnixPipeEnd end,
GError** error
)
描述 [src]
关闭管道的一端,并在返回之前将 fds
的相关成员设置为 -1
,等同于 g_clear_fd()。
类似于 g_close(),如果在关闭文件描述符时失败,错误将存储在 %errno 和 error
中。如果此函数调用成功,%errno 不确定。
如果 error
是 NULL
且 fds
的相关成员是负数或有效的打开文件描述符,则此函数是 async-signal 安全的。这使得在那些条件下从信号处理程序或 GSpawnChildSetupFunc
中调用它成为可能。有关更多信息,请参阅 signal(7)
和 signal-safety(7)
。
要关闭两个文件描述符并忽略任何错误,请使用 g_unix_pipe_clear()
代替。
从:2.80
此函数不直接对语言绑定可用。
参数
self
-
类型:
GUnixPipe
一对文件描述符。
数据由函数的调用者拥有。 end
-
类型:
GUnixPipeEnd
管道的一端。
error
-
类型:
GError **
可恢复错误的返回位置。
参数可以是 NULL
。如果返回位置不是 NULL
,则必须将其初始化为NULL
GError*
。如果没有错误,则函数将留初始化的参数为 NULL
。如果发生错误,参数将设置为新分配的 GError
;调用者将拥有数据,并负责释放它。