summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/syscalls.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/syscalls.cc')
-rw-r--r--winsup/cygwin/syscalls.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc
index 08e99cd1b..b7b2f5cb9 100644
--- a/winsup/cygwin/syscalls.cc
+++ b/winsup/cygwin/syscalls.cc
@@ -1345,11 +1345,13 @@ system (const char *cmdstring)
return res;
}
-extern "C" void
+extern "C" int
setdtablesize (int size)
{
- if (size > (int)fdtab.size)
- fdtab.extend (size);
+ if (size <= (int)fdtab.size || fdtab.extend (size - fdtab.size))
+ return 0;
+
+ return -1;
}
extern "C" int