Mercurial > hg > xemacs-beta
view lib-src/leditcfns.c @ 2518:cc24b630b1d6
[xemacs-hg @ 2005-01-26 10:33:40 by ben]
Fix some race conditions in redisplay/signal
redisplay.c, redisplay.h, signal.c: Move backtraces to internals manual. Fix some race conditions
leading to crashes due to incomplete protection of critical
sections. In signal.c, be more aggressive in catching incomplete
critical section protection -- we cannot even check for QUIT,
*EVER*, in a critical section.
author | ben |
---|---|
date | Wed, 26 Jan 2005 10:33:42 +0000 |
parents | 376386a54a3c |
children |
line wrap: on
line source
/* Synched up with: FSF 19.28. */ #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); }