view src/s/umips.h @ 83525:b2e7507b55c6

Fix C-x 5 2 on the controlling tty; fix some possible crash conditions and a memory leak. * src/frame.c (make_terminal_frame): Don't create frames on a terminal that is being deleted. * src/xfns.c (Fx_create_frame, x_create_tip_frame): Ditto. * src/keyboard.c (tty_read_avail_input): Don't read from a terminal that is being deleted. * src/term.c (get_named_tty): Abort if tty name is NULL. Simplify accordingly. * src/term.c (Ftty_type): Return nil if terminal is not on a tty instead of throwing an error. Doc update. * src/term.c (init_tty): Set name before calling `get_named_tty'. * src/term.c (delete_tty): Let delete_terminal delete the frames. Plug memory leak caused by tty->name. Remove reference to `deleting_tty'. * src/term.c (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>: Doc update. * src/termhooks.h (terminal) <name>: Explain why identifying terminals by name is a bad idea. * src/terminal.c (delete_terminal): Doc update. * src/xterm.c (XTread_socket): Disable loop on all X displays. * src/xterm.c (x_delete_display): Doc update to reflect changes in delete_terminal. * src/xterm.c (x_delete_terminal): Don't set terminal->deleted and let delete_terminal delete the frames on the terminal. * src/xterm.h (x_display_info) <terminal>: Move member earlier in the struct. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-565
author Karoly Lorentey <lorentey@elte.hu>
date Sat, 20 May 2006 17:12:43 +0000
parents 695cf19ef79e
children 375f2633d815
line wrap: on
line source

/* Definitions file for GNU Emacs running on Mips operating system.
   That system can emulate either BSD or Sys V, in either case with changes.
   If BSD_SYSTEM is defined, we assume BSD is being emulated; otherwise,
   Sys V.  */

#ifdef BSD_SYSTEM
#include "bsd4-3.h"

#define C_SWITCH_SYSTEM -systype bsd43
#define LD_SWITCH_SYSTEM -systype bsd43
#define LIBS_SYSTEM -lmld
#define LIBS_DEBUG
#define START_FILES pre-crt0.o /lib/crt1.o
#define LIB_STANDARD -lc /usr/lib/crtn.o

#define COFF
#define TERMINFO
#undef MAIL_USE_FLOCK  /* Someone should check this.  */
#undef HAVE_UNION_WAIT

#else /* not BSD_SYSTEM */

#include "usg5-2-2.h"

#define LIBS_SYSTEM -lmld
#define LIBS_DEBUG
#define START_FILES pre-crt0.o /usr/lib/crt1.o
#define LIB_STANDARD -lbsd -lc /usr/lib/crtn.o
/* #define LIBS_TERMCAP -lcurses */

#define C_SWITCH_SYSTEM -I/usr/include/bsd

/* Cancel certain parts of standard sysV support.  */
#undef NONSYSTEM_DIR_LIBRARY
#define SYSV_SYSTEM_DIR
#undef static

/* Don't try to use SIGIO or FIONREAD even though they are defined.  */
#define BROKEN_SIGIO
#define BROKEN_FIONREAD

/* Describe special kernel features.  */

#define HAVE_SYSVIPC

#if defined(emacs)
#include <bsd/sys/time.h>
#endif

/* The `select' in the system won't work for pipes,
   so don't use it.  */
#define BROKEN_SELECT

#define HAVE_DUP2

#define HAVE_PTYS
#define HAVE_SOCKETS
/* #define BSTRING   Supposedly removed.  */

#undef NOMULTIPLEJOBS

#define CLASH_DETECTION

#define utimes utime  /* Someone should check this.  */
/* ??? */
#define IRIS

#endif /* not BSD_SYSTEM */

/* High order bit must be stripped off nlist return values */
#define FIXUP_KERNEL_SYMBOL_ADDR(NL)  (NL)[0].n_value &= 0x7fffffff;

/* arch-tag: 9b816c7d-6ee2-40d9-b6dc-42c0aeccfbec
   (do not change this comment) */