From 573ffd03049495be0921cc8c6461c32be5f0ee60 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Mon, 16 Jun 2014 10:26:07 -0700 Subject: Update compat/closefrom.c to upstream ToT. Needed because the old code uses getdtablesize(), which is being removed from bionic. The new version uses syconf(_SC_OPEN_MAX). Change-Id: Iab47e15f98aa6ff3a622d78cd0af97b65847e412 --- compat/closefrom.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/compat/closefrom.c b/compat/closefrom.c index 664c4bc..9d34a53 100644 --- a/compat/closefrom.c +++ b/compat/closefrom.c @@ -32,11 +32,18 @@ int closefrom(int fd) { - int max = getdtablesize(); - int i; - int r = 0; + long max; + int i, r; - for (i = fd; i < max; i++) - r += close(i); +#ifdef _SC_OPEN_MAX + max = sysconf(_SC_OPEN_MAX); +#else + max = getdtablesize(); +#endif + r = 0; + for (i = fd; i < max; i++) { + if (close(i) == -1) + r = -1; + } return r; } -- cgit v1.2.3