Commit 57507bf8 authored by Dan Nicolaescu's avatar Dan Nicolaescu

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.
parent dd5ecd6b
2010-10-03 Dan Nicolaescu <dann@ics.uci.edu>
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.
......
......@@ -118,6 +118,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#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);
......
......@@ -299,16 +299,6 @@ init_baud_rate (int fd)
baud_rate = 1200;
}
/*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
......@@ -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)
{
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment