diff --git a/doc/libstddjb/djbunix.html b/doc/libstddjb/djbunix.html index 6223bf4..803f2ea 100644 --- a/doc/libstddjb/djbunix.html +++ b/doc/libstddjb/djbunix.html @@ -120,7 +120,7 @@ Returns 0 if it succeeds, or -1 (and sets errno) if it fails.

- void fd_close (int fd)
+ int fd_close (int fd)
Closes fd. This is a safe wrapper around close(). diff --git a/src/include/skalibs/djbunix.h b/src/include/skalibs/djbunix.h index fe8c2f9..1a59b33 100644 --- a/src/include/skalibs/djbunix.h +++ b/src/include/skalibs/djbunix.h @@ -26,7 +26,7 @@ extern int fd_copy (int, int) ; extern int fd_copy2 (int, int, int, int) ; extern int fd_move (int, int) ; extern int fd_move2 (int, int, int, int) ; -extern void fd_close (int) ; +extern int fd_close (int) ; extern int fd_chmod (int, unsigned int) ; extern int fd_chown (int, uid_t, gid_t) ; extern int fd_sync (int) ; diff --git a/src/libstddjb/fd_close.c b/src/libstddjb/fd_close.c index a3c7880..04d08de 100644 --- a/src/libstddjb/fd_close.c +++ b/src/libstddjb/fd_close.c @@ -4,9 +4,10 @@ #include #include -void fd_close (int fd) +int fd_close (int fd) { int e = errno ; - while (close(fd) < 0 && errno == EINTR) ; + while (close(fd) < 0) if (errno != EINTR) return -1 ; errno = e ; + return 0 ; }