77f3a9073f
[andersk@mit.edu: Move code to new third/libstddjb directory]
16 lines
266 B
C
16 lines
266 B
C
/* ISC license. */
|
|
|
|
#include <unistd.h>
|
|
#include <errno.h>
|
|
#include "djbunix.h"
|
|
|
|
int fd_close (int fd)
|
|
{
|
|
register unsigned int i = 0 ;
|
|
doit:
|
|
if (!close(fd)) return 0 ;
|
|
i++ ;
|
|
if (errno == EINTR) goto doit ;
|
|
return ((errno == EBADF) && (i > 1)) ? 0 : -1 ;
|
|
}
|