MINOR: fd: Use closefrom() as my_closefrom() if supported.
Add a new option, USE_CLOSEFROM. If set, it is assumed the system provides a closefrom() function, so use it. It is only implicitely used on FreeBSD for now, it should work on OpenBSD/NetBSD/DragonflyBSD/Solaris too, but as I have no such system to test it, I'd rather leave it disabled by default. Users can add USE_CLOSEFROM explicitely on their make command line to activate it.
This commit is contained in:
parent
d16a9dfed8
commit
2292edf67c
5
Makefile
5
Makefile
|
@ -374,6 +374,7 @@ ifeq ($(TARGET),freebsd)
|
|||
USE_LIBCRYPT = implicit
|
||||
USE_THREAD = implicit
|
||||
USE_CPU_AFFINITY= implicit
|
||||
USE_CLOSEFROM = implicit
|
||||
else
|
||||
ifeq ($(TARGET),osx)
|
||||
# This is for Mac OS/X
|
||||
|
@ -682,6 +683,10 @@ endif
|
|||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(USE_CLOSEFROM),)
|
||||
OPTIONS_CFLAGS += -DUSE_CLOSEFROM
|
||||
endif
|
||||
|
||||
ifneq ($(USE_LUA),)
|
||||
check_lua_lib = $(shell echo "int main(){}" | $(CC) -o /dev/null -x c - $(2) -l$(1) 2>/dev/null && echo $(1))
|
||||
check_lua_inc = $(shell if [ -d $(2)$(1) ]; then echo $(2)$(1); fi;)
|
||||
|
|
8
src/fd.c
8
src/fd.c
|
@ -468,7 +468,13 @@ void fd_process_cached_events()
|
|||
fdlist_process_cached_events(&fd_cache);
|
||||
}
|
||||
|
||||
#if defined(ENABLE_POLL)
|
||||
#if defined(USE_CLOSEFROM)
|
||||
void my_closefrom(int start)
|
||||
{
|
||||
closefrom(start);
|
||||
}
|
||||
|
||||
#elif defined(ENABLE_POLL)
|
||||
/* This is a portable implementation of closefrom(). It closes all open file
|
||||
* descriptors starting at <start> and above. It relies on the fact that poll()
|
||||
* will return POLLNVAL for each invalid (hence close) file descriptor passed
|
||||
|
|
Loading…
Reference in New Issue