Added a replacement for closefrom (available on *BSD).
This commit is contained in:
+1
-1
@@ -375,7 +375,7 @@ dnl check if native rwlocks are available
|
||||
AC_CHECK_FUNCS(pthread_rwlock_init)
|
||||
LIBS=$saved_LIBS
|
||||
|
||||
AC_CHECK_FUNCS(prctl mallinfo getpass)
|
||||
AC_CHECK_FUNCS(prctl mallinfo getpass closefrom)
|
||||
|
||||
AC_CHECK_HEADERS(sys/sockio.h glob.h)
|
||||
AC_CHECK_HEADERS(net/pfkeyv2.h netipsec/ipsec.h netinet6/ipsec.h linux/udp.h)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2008-2010 Tobias Brunner
|
||||
* Copyright (C) 2008-2011 Tobias Brunner
|
||||
* Copyright (C) 2005-2008 Martin Willi
|
||||
* Hochschule fuer Technik Rapperswil
|
||||
*
|
||||
@@ -193,6 +193,25 @@ bool mkdir_p(const char *path, mode_t mode)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
#ifndef HAVE_CLOSEFROM
|
||||
/**
|
||||
* Described in header.
|
||||
*/
|
||||
void closefrom(int lowfd)
|
||||
{
|
||||
int maxfd, fd;
|
||||
maxfd = (int)sysconf(_SC_OPEN_MAX);
|
||||
if (maxfd < 0)
|
||||
{
|
||||
maxfd = 256;
|
||||
}
|
||||
for (fd = lowfd; fd < maxfd; fd++)
|
||||
{
|
||||
close(fd);
|
||||
}
|
||||
}
|
||||
#endif /* HAVE_CLOSEFROM */
|
||||
|
||||
/**
|
||||
* Return monotonic time
|
||||
*/
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2008-2010 Tobias Brunner
|
||||
* Copyright (C) 2008-2011 Tobias Brunner
|
||||
* Copyright (C) 2008 Martin Willi
|
||||
* Hochschule fuer Technik Rapperswil
|
||||
*
|
||||
@@ -408,6 +408,15 @@ char *translate(char *str, const char *from, const char *to);
|
||||
*/
|
||||
bool mkdir_p(const char *path, mode_t mode);
|
||||
|
||||
#ifndef HAVE_CLOSEFROM
|
||||
/**
|
||||
* Close open file descriptors greater than or equal to lowfd.
|
||||
*
|
||||
* @param lowfd start closing file descriptoros from here
|
||||
*/
|
||||
void closefrom(int lowfd);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Get a timestamp from a monotonic time source.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user