Function

GLibUnixPipeclose

since: 2.80

Declaration [src]

gboolean
g_unix_pipe_close (
  GUnixPipe* self,
  GUnixPipeEnd end,
  GError** error
)

Description [src]

Close one of the ends of the pipe and set the relevant member of fds to -1 before returning, equivalent to g_clear_fd().

Like g_close(), if closing the file descriptor fails, the error is stored in both %errno and error. If this function succeeds, %errno is undefined.

This function is async-signal safe if error is NULL and the relevant member of fds is either negative or a valid open file descriptor. This makes it safe to call from a signal handler or a GSpawnChildSetupFunc under those conditions. See signal(7) and signal-safety(7) for more details.

To close both file descriptors and ignore any errors, use g_unix_pipe_clear() instead.

Available since: 2.80

This function is not directly available to language bindings.

Parameters

self

Type: GUnixPipe

A pair of file descriptors.

The data is owned by the caller of the function.
end

Type: GUnixPipeEnd

One of the ends of the pipe.

error

Type: GError **

The return location for a recoverable error.

The argument can be NULL.
If the return location is not NULL, then you must initialize it to a NULL GError*.
The argument will be left initialized to NULL by the function if there are no errors.
In case of error, the argument will be set to a newly allocated GError; the caller will take ownership of the data, and be responsible for freeing it.

Return value

Type: gboolean

TRUE on success.