Function
GLibclose
since: 2.36
Declaration [src]
gboolean
g_close (
gint fd,
GError** error
)
Description [src]
This wraps the close()
call. In case of error, %errno will be
preserved, but the error will also be stored as a GError
in error
.
In case of success, %errno is undefined.
Besides using GError
, there is another major reason to prefer this
function over the call provided by the system; on Unix, it will
attempt to correctly handle EINTR
, which has platform-specific semantics.
It is a bug to call this function with an invalid file descriptor.
On POSIX platforms since GLib 2.76, this function is async-signal safe
if (and only if) error
is NULL
and fd
is 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.
Available since: 2.36
Parameters
fd
-
Type:
gint
A file descriptor.
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 aNULL
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.