aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Albert <danalbert@google.com>2014-06-16 20:51:42 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-06-16 20:51:42 +0000
commit318e97ad91efb3d4aa53cfd1d2405e2b20df2ad5 (patch)
tree3cfe5d8e6f4465b1946028ead365fa88cb9a1e09
parent49a3c1acec97fb9460db3fc8acc601d84eb801e5 (diff)
parent397f843f6c8dc55a48cad015eecbb74f902145b9 (diff)
downloadandroid_external_dhcpcd-318e97ad91efb3d4aa53cfd1d2405e2b20df2ad5.tar.gz
android_external_dhcpcd-318e97ad91efb3d4aa53cfd1d2405e2b20df2ad5.tar.bz2
android_external_dhcpcd-318e97ad91efb3d4aa53cfd1d2405e2b20df2ad5.zip
am 397f843f: Merge "Update compat/closefrom.c to upstream ToT."
* commit '397f843f6c8dc55a48cad015eecbb74f902145b9': Update compat/closefrom.c to upstream ToT.
-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;
}