From 57507bf8b5e37c0d9355aaafbf5abb46998af392 Mon Sep 17 00:00:00 2001 From: Dan Nicolaescu Date: Sun, 3 Oct 2010 07:16:48 -0700 Subject: [PATCH 1/1] Remove unused code. * src/sysdep.c (select_alarm, sys_select, read_input_waiting): Remove select emulation, all systems support select. (set_exclusive_use): Remove, the only user is in an #if 0 block. * src/process.c (create_process): Remove #if 0 code. --- src/ChangeLog | 6 ++ src/process.c | 7 +- src/sysdep.c | 249 +------------------------------------------------- 3 files changed, 8 insertions(+), 254 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 2e1864b270..2ec9f2900f 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,11 @@ 2010-10-03 Dan Nicolaescu + Remove unused code. + * sysdep.c (select_alarm, sys_select, read_input_waiting): Remove + select emulation, all systems support select. + (set_exclusive_use): Remove, the only user is in an #if 0 block. + * process.c (create_process): Remove #if 0 code. + Remove unused arguments for unexec. The third one is never used, and the last two are always passed as zero. * emacs.c (unexec): Add declaration. diff --git a/src/process.c b/src/process.c index 435e078445..d149537878 100644 --- a/src/process.c +++ b/src/process.c @@ -118,6 +118,7 @@ along with GNU Emacs. If not, see . */ #ifdef HAVE_NS #include "nsterm.h" #endif + extern int timers_run; Lisp_Object Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname, Qtpgid; @@ -1870,12 +1871,6 @@ create_process (Lisp_Object process, char **new_argv, Lisp_Object current_dir) } #endif -#if 0 - /* Replaced by close_process_descs */ - set_exclusive_use (inchannel); - set_exclusive_use (outchannel); -#endif - #ifdef O_NONBLOCK fcntl (inchannel, F_SETFL, O_NONBLOCK); fcntl (outchannel, F_SETFL, O_NONBLOCK); diff --git a/src/sysdep.c b/src/sysdep.c index e7d35d46bf..091b1b1e51 100644 --- a/src/sysdep.c +++ b/src/sysdep.c @@ -300,16 +300,6 @@ init_baud_rate (int fd) } -/*ARGSUSED*/ -void -set_exclusive_use (int fd) -{ -#ifdef FIOCLEX - ioctl (fd, FIOCLEX, 0); -#endif - /* Ok to do nothing if this feature does not exist */ -} - int wait_debugging; /* Set nonzero to make following function work under dbx (at least for bsd). */ @@ -483,7 +473,7 @@ child_setup_tty (int out) EMACS_SET_TTY (out, &s, 0); #endif /* not WINDOWSNT */ } -#endif /* MSDOS */ +#endif /* not MSDOS */ /* Record a signal code and the handler for it. */ @@ -1486,242 +1476,6 @@ init_system_name (void) } } -#ifndef MSDOS -#if !defined (HAVE_SELECT) - -#include "sysselect.h" -#undef select - -#if defined (HAVE_X_WINDOWS) && !defined (HAVE_SELECT) -/* Cause explanatory error message at compile time, - since the select emulation is not good enough for X. */ -int *x = &x_windows_lose_if_no_select_system_call; -#endif - -/* Emulate as much as select as is possible under 4.1 and needed by Gnu Emacs - * Only checks read descriptors. - */ -/* How long to wait between checking fds in select */ -#define SELECT_PAUSE 1 -int select_alarmed; - -/* For longjmp'ing back to read_input_waiting. */ - -jmp_buf read_alarm_throw; - -/* Nonzero if the alarm signal should throw back to read_input_waiting. - The read_socket_hook function sets this to 1 while it is waiting. */ - -int read_alarm_should_throw; - -void -select_alarm (int ignore) -{ - select_alarmed = 1; - signal (SIGALRM, SIG_IGN); - SIGNAL_THREAD_CHECK (SIGALRM); - if (read_alarm_should_throw) - longjmp (read_alarm_throw, 1); -} - -#ifndef WINDOWSNT -/* Only rfds are checked. */ -int -sys_select (int nfds, - SELECT_TYPE *rfds, SELECT_TYPE *wfds, SELECT_TYPE *efds, - EMACS_TIME *timeout) -{ - /* XXX This needs to be updated for multi-tty support. Is there - anybody who needs to emulate select these days? */ - int ravail = 0; - SELECT_TYPE orfds; - int timeoutval; - int *local_timeout; - extern int proc_buffered_char[]; - extern int process_tick, update_tick; - unsigned char buf; - -#if defined (HAVE_SELECT) && defined (HAVE_X_WINDOWS) - /* If we're using X, then the native select will work; we only need the - emulation for non-X usage. */ - if (!NILP (Vinitial_window_system)) - return select (nfds, rfds, wfds, efds, timeout); -#endif - timeoutval = timeout ? EMACS_SECS (*timeout) : 100000; - local_timeout = &timeoutval; - FD_ZERO (&orfds); - if (rfds) - { - orfds = *rfds; - FD_ZERO (rfds); - } - if (wfds) - FD_ZERO (wfds); - if (efds) - FD_ZERO (efds); - - /* If we are looking only for the terminal, with no timeout, - just read it and wait -- that's more efficient. */ - if (*local_timeout == 100000 && process_tick == update_tick - && FD_ISSET (0, &orfds)) - { - int fd; - for (fd = 1; fd < nfds; ++fd) - if (FD_ISSET (fd, &orfds)) - goto hardway; - if (! detect_input_pending ()) - read_input_waiting (); - FD_SET (0, rfds); - return 1; - } - - hardway: - /* Once a second, till the timer expires, check all the flagged read - * descriptors to see if any input is available. If there is some then - * set the corresponding bit in the return copy of rfds. - */ - while (1) - { - register int to_check, fd; - - if (rfds) - { - for (to_check = nfds, fd = 0; --to_check >= 0; fd++) - { - if (FD_ISSET (fd, &orfds)) - { - int avail = 0, status = 0; - - if (fd == 0) - avail = detect_input_pending (); /* Special keyboard handler */ - else - { -#ifdef FIONREAD - status = ioctl (fd, FIONREAD, &avail); -#else /* no FIONREAD */ - /* Hoping it will return -1 if nothing available - or 0 if all 0 chars requested are read. */ - if (proc_buffered_char[fd] >= 0) - avail = 1; - else - { - avail = read (fd, &buf, 1); - if (avail > 0) - proc_buffered_char[fd] = buf; - } -#endif /* no FIONREAD */ - } - if (status >= 0 && avail > 0) - { - FD_SET (fd, rfds); - ravail++; - } - } - } - } - if (*local_timeout == 0 || ravail != 0 || process_tick != update_tick) - break; - - turn_on_atimers (0); - signal (SIGALRM, select_alarm); - select_alarmed = 0; - alarm (SELECT_PAUSE); - - /* Wait for a SIGALRM (or maybe a SIGTINT) */ - while (select_alarmed == 0 && *local_timeout != 0 - && process_tick == update_tick) - { - /* If we are interested in terminal input, - wait by reading the terminal. - That makes instant wakeup for terminal input at least. */ - if (FD_ISSET (0, &orfds)) - { - read_input_waiting (); - if (detect_input_pending ()) - select_alarmed = 1; - } - else - pause (); - } - (*local_timeout) -= SELECT_PAUSE; - - /* Reset the old alarm if there was one. */ - turn_on_atimers (1); - - if (*local_timeout == 0) /* Stop on timer being cleared */ - break; - } - return ravail; -} -#endif /* not WINDOWSNT */ - -/* Read keyboard input into the standard buffer, - waiting for at least one character. */ - -void -read_input_waiting (void) -{ - /* XXX This needs to be updated for multi-tty support. Is there - anybody who needs to emulate select these days? */ - int nread, i; - - if (read_socket_hook) - { - struct input_event hold_quit; - - EVENT_INIT (hold_quit); - hold_quit.kind = NO_EVENT; - - read_alarm_should_throw = 0; - if (! setjmp (read_alarm_throw)) - nread = (*read_socket_hook) (0, 1, &hold_quit); - else - nread = -1; - - if (hold_quit.kind != NO_EVENT) - kbd_buffer_store_event (&hold_quit); - } - else - { - struct input_event e; - char buf[3]; - nread = read (fileno (stdin), buf, 1); - EVENT_INIT (e); - - /* Scan the chars for C-g and store them in kbd_buffer. */ - e.kind = ASCII_KEYSTROKE_EVENT; - e.frame_or_window = selected_frame; - e.modifiers = 0; - for (i = 0; i < nread; i++) - { - /* Convert chars > 0177 to meta events if desired. - We do this under the same conditions that read_avail_input does. */ - if (read_socket_hook == 0) - { - /* If the user says she has a meta key, then believe her. */ - if (meta_key == 1 && (buf[i] & 0x80)) - e.modifiers = meta_modifier; - if (meta_key != 2) - buf[i] &= ~0x80; - } - - XSETINT (e.code, buf[i]); - kbd_buffer_store_event (&e); - /* Don't look at input that follows a C-g too closely. - This reduces lossage due to autorepeat on C-g. */ - if (buf[i] == quit_char) - break; - } - } -} - -#if !defined (HAVE_SELECT) -#define select sys_select -#endif - -#endif /* not HAVE_SELECT */ -#endif /* not MSDOS */ - /* POSIX signals support - DJB */ /* Anyone with POSIX signals should have ANSI C declarations */ @@ -2271,7 +2025,6 @@ dup2 (int oldd, int newd) #ifndef HAVE_GETTIMEOFDAY #ifdef HAVE_TIMEVAL -/* ARGSUSED */ int gettimeofday (struct timeval *tp, struct timezone *tzp) { -- 2.20.1