diff options
author | Laurent Bercot <ska-skaware@skarnet.org> | 2020-11-20 15:22:48 +0000 |
---|---|---|
committer | Laurent Bercot <ska-skaware@skarnet.org> | 2020-11-20 15:22:48 +0000 |
commit | cc31550d01415181e70150ad3e9043d049b07a09 (patch) | |
tree | 8631f84ba6390798f72576552f2c1b869e64ff3b /src | |
parent | 155f489a29ecc7d7b9b66e435739e69f40653562 (diff) | |
download | skalibs-cc31550d01415181e70150ad3e9043d049b07a09.tar.xz |
Add fd_shutdown()
Diffstat (limited to 'src')
-rw-r--r-- | src/include/skalibs/djbunix.h | 1 | ||||
-rw-r--r-- | src/libstddjb/fd_shutdown.c | 14 |
2 files changed, 15 insertions, 0 deletions
diff --git a/src/include/skalibs/djbunix.h b/src/include/skalibs/djbunix.h index 3c52f6a..03cc1af 100644 --- a/src/include/skalibs/djbunix.h +++ b/src/include/skalibs/djbunix.h @@ -34,6 +34,7 @@ extern int fd_cat (int, int) ; extern size_t fd_catn (int, int, size_t) ; extern int fd_ensure_open (int, int) ; #define fd_sanitize() (fd_ensure_open(0, 0) && fd_ensure_open(1, 1) && fd_ensure_open(2, 1)) +extern void fd_shutdown (int, int) ; extern int lock_ex (int) ; extern int lock_exnb (int) ; extern int lock_sh (int) ; diff --git a/src/libstddjb/fd_shutdown.c b/src/libstddjb/fd_shutdown.c new file mode 100644 index 0000000..52e00c7 --- /dev/null +++ b/src/libstddjb/fd_shutdown.c @@ -0,0 +1,14 @@ +/* ISC license. */ + +#include <skalibs/nonposix.h> +#include <errno.h> +#include <sys/socket.h> + +#include <skalibs/djbunix.h> + +void fd_shutdown (int fd, int h) +{ + int e = errno ; + shutdown(fd, h ? SHUT_WR : SHUT_RD) ; + errno = e ; +} |