Mercurial > emacs
view src/s/sol2-5.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 82045a035109 |
line wrap: on
line source
/* Handle Solaris 2.5. */ #include "sol2-4.h" #if 0 /* Klaus Zeitler <kzeitler@lucent.com> says SIGIO still fails. */ #undef BROKEN_SIGIO #endif /* -lgen is needed for the regex and regcmp functions which are used by Motif. In the future we can try changing regex.c to provide them in Emacs, but this is safer for now. */ #define LIB_MOTIF -lXm -lgen /* This is the only known way to avoid some crashes that seem to relate to screwed up malloc data after deleting a frame. */ /* rms: I think the problems using ralloc had to do with system libraries that called the system malloc even if we linked in the GNU malloc. I could not see any way to fix the problem except to have just one malloc and that had to be the system one. */ /* This is not always necessary. Turned off at present for testers to identify any problems with gmalloc more accurately. */ /* #define SYSTEM_MALLOC */ /* There have problems reported with mmap at least on Solaris 2.6 and 2.7. For simplicity, let's not use mmap for anything >= 2.5. We can optimize this later. */ #undef USE_MMAP_FOR_BUFFERS /* Probably OK also on earlier versions. */ #define GC_SETJMP_WORKS 1 #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS /* arch-tag: 96d65526-21c9-4547-a797-2bd575c05be7 (do not change this comment) */