Mercurial > emacs
view lib-src/leditcfns.c @ 83522:a5d712e6585a
Fix crashes in `delete-terminal' caused by recursive calls or X displays with live frames.
* src/termhooks.h (terminal) <deleted>: New member.
* src/term.c (delete_tty): Use it.
(deleting_tty): Remove old variable.
* src/terminal.c (delete_terminal): Use terminal->deleted.
* src/xterm.c (x_delete_terminal): Use terminal->deleted. Delete all
frames on the display explicitly.
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-562
author | Karoly Lorentey <lorentey@elte.hu> |
---|---|
date | Sat, 20 May 2006 12:20:41 +0000 |
parents | 695cf19ef79e |
children | 375f2633d815 |
line wrap: on
line source
#include <sgtty.h> #include <signal.h> #define STRLEN 100 static char str[STRLEN+1] = "%?emacs"; /* extra char for the null */ switch_to_proc(){ char *ptr = str; while (*ptr) ioctl(0, TIOCSTI, ptr++); ioctl(0, TIOCSTI, "\n"); kill(getpid(), SIGTSTP); } set_proc_str(ptr) char *ptr; { if (strlen(ptr) <= STRLEN) strcpy(str, ptr); else printf("string too long for set-proc-str: %s\n", ptr); } /* arch-tag: eb7ae804-0d6e-4077-ab42-7173821410c3 (do not change this comment) */