summaryrefslogtreecommitdiff
path: root/glnx-local-alloc.h
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2015-12-11 15:56:06 +0100
committerAlexander Larsson <alexl@redhat.com>2015-12-11 16:22:07 +0100
commit4e9969998b3d385fc007fa5deba5f256aa7b2e95 (patch)
tree39e332f7f3187b1e641c3d2cebe1f0f13b460739 /glnx-local-alloc.h
parentbf4d1504a40cdb2b1a90ed2eb6366ec28e60bb68 (diff)
downloadlibglnx-4e9969998b3d385fc007fa5deba5f256aa7b2e95.tar.gz
Add glnx_steal_fd
This is very useful in combination with glnx_close_fd https://bugzilla.gnome.org/show_bug.cgi?id=757611
Diffstat (limited to 'glnx-local-alloc.h')
-rw-r--r--glnx-local-alloc.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/glnx-local-alloc.h b/glnx-local-alloc.h
index a193e60..af5af4b 100644
--- a/glnx-local-alloc.h
+++ b/glnx-local-alloc.h
@@ -211,4 +211,12 @@ glnx_cleanup_close_fdp (int *fdp)
*/
#define glnx_fd_close __attribute__((cleanup(glnx_cleanup_close_fdp)))
+static inline int
+glnx_steal_fd (int *fdp)
+{
+ int fd = *fdp;
+ *fdp = -1;
+ return fd;
+}
+
G_END_DECLS