Function

GLibunix_open_pipe

Declaration [src]

gboolean
g_unix_open_pipe (
  gint* fds,
  gint flags,
  GError** error
)

Description [src]

Similar to the UNIX pipe() call, but on modern systems like Linux uses the pipe2() system call, which atomically creates a pipe with the configured flags. The only supported flag currently is FD_CLOEXEC. If for example you want to configure O_NONBLOCK, that must still be done separately with fcntl().

This function does not take O_CLOEXEC, it takes FD_CLOEXEC as if for fcntl(); these are different on Linux/glibc.

Available since:2.30

Parameters

fds gint*
 

Array of two integers.

 The data is owned by the caller of the function.
flags gint
 

Bitfield of file descriptor flags, as for fcntl()

error GError **
  The return location for a GError*, or NULL.

Return value

Returns: gboolean
 

TRUE on success, FALSE if not (and errno will be set).