Max Kellermann
3be57dc4a3
fd_util: support eventfd()
2013-01-10 00:10:01 +01:00
Max Kellermann
921553d7bb
Merge branch 'v0.16.x'
2011-09-20 08:47:06 +02:00
Max Kellermann
c476819cb1
fd_util: add function close_socket()
...
Wrap close(), use closesocket() on WIN32/WinSock.
2011-09-20 08:38:58 +02:00
Max Kellermann
08e2e2e791
fd_util: add function socketpair_cloexec_nonblock()
2011-07-01 10:50:15 +02:00
Max Kellermann
c6cbcc2c25
copyright year 2011
2011-01-29 10:13:54 +01:00
Max Kellermann
4425989898
fd_util: work around aliasing warning in recvmsg_cloexec()
2010-09-23 09:01:20 +02:00
Max Kellermann
68c02fc95a
fd_util: add function dup_cloexec()
...
Unfortunately, there's no "optimized" implementation here. We can't
use Linux's proprietary system call dup3(), because it would require
us to specify the new descriptor.
2010-08-03 18:03:55 +02:00
Max Kellermann
d18c1b1a0a
fd_util: add function recvmsg_cloexec()
2010-08-03 17:51:35 +02:00
Max Kellermann
c980fc653d
fd_util: add function socketpair_cloexec()
2010-08-03 17:51:35 +02:00
Max Kellermann
fef46bcf49
fd_util: fd_set_cloexec() returns a value on WIN32
...
This function is empty on WIN32, but we need to return a value.
2010-05-18 23:09:07 +02:00
Max Kellermann
006f4be71c
fd_util: include ws2tcpip.h for socklen_t
2010-01-17 14:48:52 +01:00
Max Kellermann
163e05f5a0
fd_util: fixed WIN32 versions of pipe()
...
Use the correct parameter name.
2010-01-17 14:43:15 +01:00
Avuton Olrich
9d3865cb95
Update copyright notices.
2009-12-31 20:58:43 -08:00
Max Kellermann
96204ea3dc
fd_util: don't call fd_set_nonblock() if open() has failed
...
This fixes an assertion failure.
2009-11-11 14:30:38 +01:00
Max Kellermann
9d1a34e30b
added missing config.h includes for extended LFS support
...
All sources which might work with large files must include config.h,
to get Large File Support on 32 bit platforms.
2009-11-11 14:15:34 +01:00
Max Kellermann
e0e6813a1d
fd_util: removed creat_cloexec()
...
Add a "mode" argument to open_cloexec() instead.
2009-11-10 16:53:24 +01:00
Max Kellermann
3d2a9d3545
fd_util: added function pipe_cloexec()
...
Same as pipe_cloexec_nonblock(), but doesn't set non-blocking mode.
2009-11-10 16:53:20 +01:00
Max Kellermann
1a4025420c
fd_util: added missing NONBLOCK fallback for socket()
2009-11-08 22:24:02 +01:00
Max Kellermann
223b0db5bd
fd_util: relicense under BSD 2-clause
...
We'll copy this code to libmpdclient, and that's easier if its license
is BSD.
2009-11-08 22:15:22 +01:00
Max Kellermann
f66edccffd
fd_util: added O_NONBLOCK functions
...
Changed the wrappers for pipe(), socket(), accept(). On WIN32, this
does not work for pipe().
2009-11-08 22:11:35 +01:00
Max Kellermann
cac63bfd21
fd_util: unexport fd_set_cloexec()
...
This function is used only internally.
2009-11-08 21:38:38 +01:00
Max Kellermann
1573ea1485
inotify: set close-on-exec flag
...
Added wrapper for inotify_init1() to fd_util.c.
2009-11-07 19:02:53 +01:00
Max Kellermann
e3af0032b2
set the close-on-exec flag on all file descriptors
...
Added the "fd_util" library, which attempts to use the new thread-safe
Linux system calls pipe2(), accept4() and the options O_CLOEXEC,
SOCK_CLOEXEC. Without these, it falls back to FD_CLOEXEC, which is
not thread safe.
This is particularly important for the "pipe" output plugin (and
others, such as JACK/PulseAudio), because we were heavily leaking file
descriptors to child processes.
2009-11-07 18:55:16 +01:00