diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | Src/zsh.h | 5 | ||||
-rw-r--r-- | acconfig.h | 4 | ||||
-rw-r--r-- | configure.in | 24 |
4 files changed, 34 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog index 7b1a71a7f..dbf33d956 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2000-04-13 Clint Adams <schizo@debian.org> + * 10745: acconfig.h, configure.in, Src/zsh.h: set MAXJOB + to MAX_TASKS_PER_USER if available under Linux. + 2000-04-13 Peter Stephenson <pws@cambridgesiliconradio.com> * 10743: Src/params.c: replenv() failed importing special params diff --git a/Src/zsh.h b/Src/zsh.h index 5d1a8b1c8..306cc82e5 100644 --- a/Src/zsh.h +++ b/Src/zsh.h @@ -661,8 +661,9 @@ struct eccstr { /* Defintions for job table and job control */ /********************************************/ -/* size of job table */ -#define MAXJOB 50 +#ifdef NEED_LINUX_TASKS_H +#include <linux/tasks.h> +#endif /* entry in the job table */ diff --git a/acconfig.h b/acconfig.h index 92ae69422..2f553d1b3 100644 --- a/acconfig.h +++ b/acconfig.h @@ -139,6 +139,10 @@ /* Define to be a string corresponding the vendor of the machine */ #undef VENDOR +/* Define to limit job table size */ +#undef MAXJOB +#undef NEED_LINUX_TASKS_H + /* Define if your system defines `struct winsize' in sys/ptem.h. */ #undef WINSIZE_IN_PTEM diff --git a/configure.in b/configure.in index 2fde12a56..fddc6070f 100644 --- a/configure.in +++ b/configure.in @@ -443,7 +443,8 @@ AC_CHECK_HEADERS(sys/time.h sys/times.h sys/select.h termcap.h termio.h \ termios.h sys/param.h sys/filio.h string.h memory.h \ limits.h fcntl.h libc.h sys/utsname.h sys/resource.h \ locale.h errno.h stdlib.h unistd.h sys/capability.h \ - utmp.h utmpx.h sys/types.h pwd.h grp.h poll.h sys/mman.h) + utmp.h utmpx.h sys/types.h pwd.h grp.h poll.h sys/mman.h \ + linux/tasks.h) if test $dynamic = yes; then AC_CHECK_HEADERS(dlfcn.h) AC_CHECK_HEADERS(dl.h) @@ -497,6 +498,27 @@ fi AC_CHECK_HEADER([sys/ptem.h], AC_DEFINE(WINSIZE_IN_PTEM)) +dnl Try to get a sane value for MAXJOB +linux_tasks_defines_mtpu=no +AC_MSG_CHECKING(what to set MAXJOB to) +if test $ac_cv_header_linux_tasks_h = yes; then +AC_EGREP_CPP(yes, +[#include <linux/tasks.h> + #ifdef MAX_TASKS_PER_USER + yes + #endif +], linux_tasks_defines_mtpu=yes) +fi + +if test $linux_tasks_defines_mtpu = yes; then +AC_DEFINE(MAXJOB, MAX_TASKS_PER_USER) +AC_DEFINE(NEED_LINUX_TASKS_H) +AC_MSG_RESULT(${msg}MAX_TASKS_PER_USER) +else +AC_DEFINE(MAXJOB, 50) +AC_MSG_RESULT(${msg}50) +fi + dnl ------------------- dnl CHECK FOR LIBRARIES dnl ------------------- |