aboutsummaryrefslogtreecommitdiffstats
path: root/compat
diff options
context:
space:
mode:
authorDan Albert <danalbert@google.com>2014-06-16 17:43:45 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2014-06-16 15:34:52 +0000
commit397f843f6c8dc55a48cad015eecbb74f902145b9 (patch)
treee95bd28fc179bbe98f352856e7aa6be48e1b47e5 /compat
parentdda7bc2000ee9df014ecdadb20e9df6abd5716e4 (diff)
parent573ffd03049495be0921cc8c6461c32be5f0ee60 (diff)
downloadandroid_external_dhcpcd-397f843f6c8dc55a48cad015eecbb74f902145b9.tar.gz
android_external_dhcpcd-397f843f6c8dc55a48cad015eecbb74f902145b9.tar.bz2
android_external_dhcpcd-397f843f6c8dc55a48cad015eecbb74f902145b9.zip
Merge "Update compat/closefrom.c to upstream ToT."
Diffstat (limited to 'compat')
-rw-r--r--compat/closefrom.c17
1 files 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;
}