Mercurial > emacs
view src/s/osf1.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 | c365fcdf7c2a 375f2633d815 |
line wrap: on
line source
#include "bsd4-3.h" /* Identify OSF1 for the m- files. */ #define OSF1 #define C_SWITCH_SYSTEM -D_BSD #define LIBS_SYSTEM -lbsd #define GETPGRP_NO_ARG #define SYSV_SYSTEM_DIR /* If your system uses COFF (Common Object File Format) then define the preprocessor symbol "COFF". */ #define COFF /* Here is how to find X Windows. LD_SWITCH_X_SITE_AUX gives an -R option says where to find X windows at run time. We convert it to a -rpath option which is what OSF1 uses. */ #define LD_SWITCH_SYSTEM `echo LD_SWITCH_X_SITE_AUX | sed -e 's/-R/-Wl,-rpath,/'` #define HAVE_TERMIOS #ifndef __GNUC__ /* Optimize, inaccurate debugging. */ #define C_DEBUG_SWITCH -g3 #endif #ifndef NOT_C_CODE #ifndef OSF5 /* fixed in 5.0 */ /* Hack alert! For reasons unknown to mankind the string.h file insists on defining bcopy etc. as taking char pointers as arguments. With Emacs this produces an endless amount of warning which are harmless, but tends to flood the real errors. This hack works around this problem by not prototyping. */ #define bcopy string_h_bcopy #define bzero string_h_bzero #define bcmp string_h_bcmp #include <string.h> #undef bcopy #undef bzero #undef bcmp #endif #endif #define ORDINARY_LINK /* Some systems seem to have this, others don't. */ #ifdef HAVE_LIBDNET #define LIBS_MACHINE -ldnet #else #define LIBS_MACHINE -ldnet_stub #endif #define LIBS_DEBUG #define START_FILES pre-crt0.o #define PTY_ITERATION for (i = 0; i < 1; i++) /* ick */ #define PTY_NAME_SPRINTF /* none */ #define PTY_TTY_NAME_SPRINTF /* none */ #define PTY_OPEN \ do \ { \ int dummy; \ SIGMASKTYPE mask; \ mask = sigblock (sigmask (SIGCHLD)); \ if (-1 == openpty (&fd, &dummy, pty_name, 0, 0)) \ fd = -1; \ sigsetmask (mask); \ emacs_close (dummy); \ } \ while (0) /* arch-tag: 65eaea67-fcc3-4de7-8574-d46beb82d4ed (do not change this comment) */