view src/s/ptx4-2.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

#include "ptx4.h"

/* Gelling Kevan (gellingk.eurostar@ems.rail.co.uk)
   says that PTX 4.2.3 needs this version.  */
#undef SETUP_SLAVE_PTY
#define SETUP_SLAVE_PTY \
    if (ioctl (xforkin, I_PUSH, "ptem") == -1)    \
      fatal ("ioctl I_PUSH ptem", errno);        \
    if (ioctl (xforkin, I_PUSH, "ldterm") == -1)  \
      fatal ("ioctl I_PUSH ldterm", errno);

/* Gelling Kevan (gellingk.eurostar@ems.rail.co.uk)
   says that gmalloc.c needs _POSIX_SOURCE.
   This defines _POSIX_SOURCE only for gmalloc.c.  */
#ifdef _MALLOC_INTERNAL
#define _POSIX_SOURCE
#endif

/* arch-tag: 10a9fab3-9e84-4e9e-9535-6ff42baf9e77
   (do not change this comment) */