summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOliver Kiddle <opk@zsh.org>2024-09-14 19:21:58 +0200
committerOliver Kiddle <opk@zsh.org>2024-09-14 19:21:58 +0200
commit8dd271fdec526241ad3ed9c7f2641127a939893c (patch)
tree92680221d463f37953a13c9f91c70b7783532eab
parent79593399c4bfa3eefb7eaa379fdc922b9c14c0df (diff)
downloadzsh-8dd271fdec526241ad3ed9c7f2641127a939893c.tar.gz
zsh-8dd271fdec526241ad3ed9c7f2641127a939893c.zip
53081: remove old BeOS support code
-rw-r--r--ChangeLog3
-rw-r--r--INSTALL7
-rw-r--r--Src/init.c8
-rw-r--r--Src/options.c9
-rw-r--r--Src/signals.c7
-rw-r--r--Src/zsh_system.h12
-rw-r--r--configure.ac165
7 files changed, 5 insertions, 206 deletions
diff --git a/ChangeLog b/ChangeLog
index 3301c5287..335ae40d3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2024-09-14 Oliver Kiddle <opk@zsh.org>
+ * 53081: INSTALL, configure.ac, Src/init.c, Src/options.c,
+ Src/signals.c, Src/zsh_system.h: remove old BeOS support code
+
* 53080: configure.ac, Src/init.c, Src/signals.c, Src/signals.h:
remove code for systems that only have the old pre-POSIX signal()
diff --git a/INSTALL b/INSTALL
index f347a4480..8b139fa9b 100644
--- a/INSTALL
+++ b/INSTALL
@@ -576,13 +576,6 @@ shell is running in some privileged mode. This is turned off by
default as on some systems non-standard headers (in particular AIX) are
required. A direct fix for that problem would be appreciated.
-A test for the function tcsetpgrp is turned on by default. The test
-needs to run the function to determine if the implementation is
-usable. However, this can cause problems when configure is run without
-a controlling terminal (eg. from cron). To avoid this, use
---with-tcsetpgrp or --without-tcsetpgrp to tell configure whether the
-function should be used.
-
Options For Configure
---------------------
diff --git a/Src/init.c b/Src/init.c
index 8c7776c7a..70e878e20 100644
--- a/Src/init.c
+++ b/Src/init.c
@@ -695,7 +695,6 @@ init_io(char *cmd)
} else
opts[USEZLE] = 0;
-#ifdef JOB_CONTROL
/* If interactive, make sure the shell is in the foreground and is the
* process group leader.
*/
@@ -708,9 +707,6 @@ init_io(char *cmd)
acquire_pgrp(); /* might also clear opts[MONITOR] */
}
}
-#else
- opts[MONITOR] = 0;
-#endif
}
/**/
@@ -718,7 +714,7 @@ mod_export void
init_shout(void)
{
static char shoutbuf[BUFSIZ];
-#if defined(JOB_CONTROL) && defined(TIOCSETD) && defined(NTTYDISC)
+#if defined(TIOCSETD) && defined(NTTYDISC)
int ldisc;
#endif
@@ -729,7 +725,7 @@ init_shout(void)
return;
}
-#if defined(JOB_CONTROL) && defined(TIOCSETD) && defined(NTTYDISC)
+#if defined(TIOCSETD) && defined(NTTYDISC)
ldisc = NTTYDISC;
ioctl(SHTTY, TIOCSETD, (char *)&ldisc);
#endif
diff --git a/Src/options.c b/Src/options.c
index a0e1aa024..8b37ab5e8 100644
--- a/Src/options.c
+++ b/Src/options.c
@@ -877,7 +877,6 @@ dosetopt(int optno, int value, int force, char *new_opts)
}
#endif /* HAVE_SETRESGID && HAVE_SETRESUID */
-#ifdef JOB_CONTROL
} else if (!force && optno == MONITOR && value) {
if (new_opts[optno] == value)
return 0;
@@ -887,14 +886,6 @@ dosetopt(int optno, int value, int force, char *new_opts)
origpgrp = GETPGRP();
acquire_pgrp();
}
-#else
- } else if(optno == MONITOR && value) {
- return -1;
-#endif /* not JOB_CONTROL */
-#ifdef GETPWNAM_FAKED
- } else if(optno == CDABLEVARS && value) {
- return -1;
-#endif /* GETPWNAM_FAKED */
} else if ((optno == EMACSMODE || optno == VIMODE) && value) {
if (sticky && sticky->emulation)
return -1;
diff --git a/Src/signals.c b/Src/signals.c
index 6eecbf7d5..86f1a49f6 100644
--- a/Src/signals.c
+++ b/Src/signals.c
@@ -216,7 +216,6 @@ signal_suspend(UNUSED(int sig), int wait_cmd)
int ret;
sigset_t set;
- sigset_t oset;
sigemptyset(&set);
@@ -229,13 +228,7 @@ signal_suspend(UNUSED(int sig), int wait_cmd)
(sigtrapped[SIGINT] & ~ZSIG_IGNORED)))
sigaddset(&set, SIGINT);
-# ifdef BROKEN_POSIX_SIGSUSPEND
- sigprocmask(SIG_SETMASK, &set, &oset);
- ret = pause();
- sigprocmask(SIG_SETMASK, &oset, NULL);
-# else /* not BROKEN_POSIX_SIGSUSPEND */
ret = sigsuspend(&set);
-# endif /* BROKEN_POSIX_SIGSUSPEND */
return ret;
}
diff --git a/Src/zsh_system.h b/Src/zsh_system.h
index 5c004d53e..21446a9b1 100644
--- a/Src/zsh_system.h
+++ b/Src/zsh_system.h
@@ -369,8 +369,6 @@ struct timespec {
# ifndef TIME_H_SELECT_H_CONFLICTS
# include <sys/select.h>
# endif
-#elif defined(SELECT_IN_SYS_SOCKET_H)
-# include <sys/socket.h>
#endif
#if defined(__APPLE__) && defined(HAVE_SELECT)
@@ -803,16 +801,6 @@ extern short ospeed;
#endif
#endif
-/* Can't support job control without working tcsetgrp() */
-#ifdef BROKEN_TCSETPGRP
-#undef JOB_CONTROL
-#endif /* BROKEN_TCSETPGRP */
-
-#ifdef BROKEN_KILL_ESRCH
-#undef ESRCH
-#define ESRCH EINVAL
-#endif /* BROKEN_KILL_ESRCH */
-
/* Can we do locale stuff? */
#undef USE_LOCALE
#if defined(CONFIG_LOCALE) && defined(HAVE_SETLOCALE) && defined(LC_ALL)
diff --git a/configure.ac b/configure.ac
index eab95105c..b2721fa77 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2119,20 +2119,6 @@ if test x$zsh_cv_header_sys_ioctl_h_ioctl_proto = xyes; then
AC_DEFINE(IOCTL_IN_SYS_IOCTL)
fi
-dnl -------------------
-dnl select() defined in <sys/socket.h>, ie BeOS R4.51
-dnl -------------------
-AH_TEMPLATE([SELECT_IN_SYS_SOCKET_H],
-[Define to 1 if select() is defined in <sys/socket.h>, ie BeOS R4.51])
-if test x$ac_cv_header_sys_select_h != xyes; then
- AC_CACHE_CHECK(for select() in <sys/socket.h>,
- zsh_cv_header_socket_h_select_proto,
- [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/socket.h>]], [[fd_set fd;]])],[zsh_cv_header_socket_h_select_proto=yes],[zsh_cv_header_socket_h_select_proto=no])])
- if test x$zsh_cv_header_socket_h_select_proto = xyes; then
- AC_DEFINE(SELECT_IN_SYS_SOCKET_H)
- fi
-fi
-
dnl -----------
dnl named FIFOs
dnl -----------
@@ -2266,154 +2252,6 @@ if test x$zsh_cv_sys_link = xyes; then
AC_DEFINE(HAVE_LINK)
fi
-dnl -----------
-dnl test for whether kill(pid, 0) where pid doesn't exit
-dnl should set errno to ESRCH, but some like BeOS R4.51 set to EINVAL
-dnl -----------
-AC_CACHE_CHECK(if kill(pid, 0) returns ESRCH correctly,
-zsh_cv_sys_killesrch,
-[AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#include <unistd.h>
-#include <signal.h>
-#include <errno.h>
-int main()
-{
- int pid = (getpid() + 10000) & 0xffffff;
- while (pid && (kill(pid, 0) == 0 || errno != ESRCH)) pid >>= 1;
- return(errno!=ESRCH);
-}
-]])],[zsh_cv_sys_killesrch=yes],[zsh_cv_sys_killesrch=no],[zsh_cv_sys_killesrch=yes])])
-AH_TEMPLATE([BROKEN_KILL_ESRCH],
-[Define to 1 if kill(pid, 0) doesn't return ESRCH, ie BeOS R4.51.])
-if test x$zsh_cv_sys_killesrch = xno; then
- AC_DEFINE(BROKEN_KILL_ESRCH)
-fi
-
-dnl -----------
-dnl if POSIX, test for working sigsuspend().
-dnl for instance, BeOS R4.51 is broken.
-dnl -----------
-AH_TEMPLATE([BROKEN_POSIX_SIGSUSPEND],
-Define to 1 if sigsuspend() is broken, ie BeOS R4.51.])
- AC_CACHE_CHECK(if POSIX sigsuspend() works,
- zsh_cv_sys_sigsuspend,
- [AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#include <signal.h>
-#include <unistd.h>
-int child=0;
-void handler(sig)
- int sig;
-{if(sig==SIGCHLD) child=1;}
-int main() {
- struct sigaction act;
- sigset_t set;
- int pid, ret;
- act.sa_handler = &handler;
- sigfillset(&act.sa_mask);
- act.sa_flags = 0;
- sigaction(SIGCHLD, &act, 0);
- sigfillset(&set);
- sigprocmask(SIG_SETMASK, &set, 0);
- pid=fork();
- if(pid==0) return 0;
- if(pid>0) {
- sigemptyset(&set);
- ret=sigsuspend(&set);
- return(child==0);
- }
-}
-]])],[zsh_cv_sys_sigsuspend=yes],[zsh_cv_sys_sigsuspend=no],[zsh_cv_sys_sigsuspend=yes])])
- if test x$zsh_cv_sys_sigsuspend = xno; then
- AC_DEFINE(BROKEN_POSIX_SIGSUSPEND)
- fi
-
-dnl -----------
-dnl if found tcsetpgrp, test to see if it actually works
-dnl for instance, BeOS R4.51 does not support it yet
-dnl -----------
-AH_TEMPLATE([BROKEN_TCSETPGRP],
-[Define to 1 if tcsetpgrp() doesn't work, ie BeOS R4.51.])
-AC_ARG_WITH(tcsetpgrp,
-AS_HELP_STRING([--with-tcsetpgrp],[assumes that tcsetpgrp() exists and works correctly]),[
-case "x$withval" in
- xyes) zsh_working_tcsetpgrp=yes;;
- xno) zsh_working_tcsetpgrp=no;;
- *) AC_MSG_ERROR(please use --with-tcsetpgrp=yes or --with-tcsetpgrp=no);;
-esac],[zsh_working_tcsetpgrp=check])
-if test "x$ac_cv_func_tcsetpgrp" = xyes; then
-case "x$zsh_working_tcsetpgrp" in
- xcheck)
- trap "" TTOU > /dev/null 2>&1 || :
- AC_CACHE_CHECK(if tcsetpgrp() actually works,
- zsh_cv_sys_tcsetpgrp,
- [AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#include <sys/types.h>
-#include <unistd.h>
-#include <fcntl.h>
-int main() {
- int fd;
- int ret;
- fd=open("/dev/tty", O_RDWR);
- if (fd < 0) return(2);
- ret=tcsetpgrp(fd, tcgetpgrp(fd));
- if (ret < 0) return(1);
- return(0);
-}
-]])],[zsh_cv_sys_tcsetpgrp=yes],[
-case $? in
- 1) zsh_cv_sys_tcsetpgrp=no;;
- 2) zsh_cv_sys_tcsetpgrp=notty;;
- *) zsh_cv_sys_tcsetpgrp=error;;
-esac
- ],[zsh_cv_sys_tcsetpgrp=yes])])
- case "x$zsh_cv_sys_tcsetpgrp" in
- xno) AC_DEFINE(BROKEN_TCSETPGRP);;
- xyes) :;;
- xnotty) AC_MSG_ERROR([no controlling tty
-Try running configure with --with-tcsetpgrp or --without-tcsetpgrp]);;
- *) AC_MSG_ERROR([unexpected return status]);;
- esac
- trap - TTOU > /dev/null 2>&1 || :
- ;;
- xyes) :;;
- xno) AC_DEFINE(BROKEN_TCSETPGRP);;
- *) AC_MSG_ERROR([unexpected value zsh_working_tcsetpgrp=$zsh_working_tcsetpgrp]);;
-esac
-fi
-
-dnl -----------
-dnl test for faked getpwnam() entry, ie a single entry returned for any username
-dnl for instance, BeOS R4.51 is not multiuser yet, and fakes getpwnam()
-dnl test by looking up two usernames that shouldn't succeed, and compare entry
-dnl -----------
-AH_TEMPLATE([GETPWNAM_FAKED],
-[Define to 1 if getpwnam() is faked, ie BeOS R4.51.])
-if test x$ac_cv_func_getpwnam = xyes; then
- AC_CACHE_CHECK(if getpwnam() is faked,
- zsh_cv_sys_getpwnam_faked,
- [AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#include <pwd.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <unistd.h>
-int main() {
- struct passwd *pw1, *pw2;
- char buf[1024], name[1024];
- sprintf(buf, "%d:%d", getpid(), rand());
- pw1=getpwnam(buf);
- if (pw1) strcpy(name, pw1->pw_name);
- sprintf(buf, "%d:%d", rand(), getpid());
- pw2=getpwnam(buf);
- return(pw1!=0 && pw2!=0 && !strcmp(name, pw2->pw_name));
-}
-]])],[zsh_cv_sys_getpwnam_faked=no],[zsh_cv_sys_getpwnam_faked=yes],[zsh_cv_sys_getpwnam_faked=no])])
- if test x$zsh_cv_sys_getpwnam_faked = xyes; then
- AC_DEFINE(GETPWNAM_FAKED)
- fi
-fi
-
-
dnl ---------------
dnl check for the type of third argument of accept
dnl ---------------
@@ -3151,9 +2989,6 @@ AH_TOP([/***** begin user configuration section *****/
/* Define to 1 if you want user names to be cached */
#define CACHE_USERNAMES 1
-/* Define to 1 if system supports job control */
-#define JOB_CONTROL 1
-
/* Define this if you use "suspended" instead of "stopped" */
#define USE_SUSPENDED 1