termux-packages/packages/cronie/getdtablesize.patch

25 lines
952 B
Diff

diff -uNr cronie-1.5.5/src/do_command.c cronie-1.5.5.mod/src/do_command.c
--- cronie-1.5.5/src/do_command.c 2019-10-31 16:50:32.000000000 +0200
+++ cronie-1.5.5.mod/src/do_command.c 2020-07-08 22:41:21.655980267 +0300
@@ -238,7 +238,7 @@
*/
{
char *shell = env_get("SHELL", jobenv);
- int fd, fdmax = TMIN(getdtablesize(), MAX_CLOSE_FD);
+ int fd, fdmax = TMIN(sysconf(_SC_OPEN_MAX), MAX_CLOSE_FD);
/* close all unwanted open file descriptors */
for(fd = STDERR + 1; fd < fdmax; fd++) {
diff -uNr cronie-1.5.5/src/popen.c cronie-1.5.5.mod/src/popen.c
--- cronie-1.5.5/src/popen.c 2019-07-08 11:55:22.000000000 +0300
+++ cronie-1.5.5.mod/src/popen.c 2020-07-08 22:47:34.725757271 +0300
@@ -79,7 +79,7 @@
return (NULL);
if (!pids) {
- if ((fds = getdtablesize()) <= 0)
+ if ((fds = sysconf(_SC_OPEN_MAX)) <= 0)
return (NULL);
if (fds > MAX_CLOSE_FD)
fds = MAX_CLOSE_FD; /* avoid allocating too much memory */