aboutsummaryrefslogtreecommitdiffstats
path: root/src/process.c
diff options
context:
space:
mode:
authorPaul Eggert2012-09-03 23:34:19 -0700
committerPaul Eggert2012-09-03 23:34:19 -0700
commitaf26b72c1187a93cdacc6abb6561f3c331346cef (patch)
tree12dd2afed044c50078a831bf3aaaa981d79586b8 /src/process.c
parent7b6c362efe6e32b6a3a68f6f827c9cc558a2fcf0 (diff)
downloademacs-af26b72c1187a93cdacc6abb6561f3c331346cef.tar.gz
emacs-af26b72c1187a93cdacc6abb6561f3c331346cef.zip
Be more systematic about _setjmp vs setjmp.
* alloc.c (test_setjmp, mark_stack): * image.c (PNG_LONGJMP) [PNG_LIBPNG_VER < 10500]: (PNG_JMPBUF) [! (PNG_LIBPNG_VER < 10500)]: (png_load, my_error_exit, jpeg_load): * process.c (send_process_trap, send_process): Uniformly prefer _setjmp and _longjmp to setjmp and longjmp. The underscored versions are up to 30x faster on some hosts. Formerly, the code used setjmp+longjmp sometimes and _setjmp+_longjmp at other times, with no particular reason to prefer setjmp+longjmp.
Diffstat (limited to 'src/process.c')
-rw-r--r--src/process.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/process.c b/src/process.c
index 04b6abe50a7..2d144b410ed 100644
--- a/src/process.c
+++ b/src/process.c
@@ -5431,7 +5431,7 @@ send_process_trap (int ignore)
5431{ 5431{
5432 SIGNAL_THREAD_CHECK (SIGPIPE); 5432 SIGNAL_THREAD_CHECK (SIGPIPE);
5433 sigunblock (sigmask (SIGPIPE)); 5433 sigunblock (sigmask (SIGPIPE));
5434 longjmp (send_process_frame, 1); 5434 _longjmp (send_process_frame, 1);
5435} 5435}
5436 5436
5437/* In send_process, when a write fails temporarily, 5437/* In send_process, when a write fails temporarily,
@@ -5634,7 +5634,7 @@ send_process (volatile Lisp_Object proc, const char *volatile buf,
5634 /* 2000-09-21: Emacs 20.7, sparc-sun-solaris-2.6, GCC 2.95.2, 5634 /* 2000-09-21: Emacs 20.7, sparc-sun-solaris-2.6, GCC 2.95.2,
5635 CFLAGS="-g -O": The value of the parameter `proc' is clobbered 5635 CFLAGS="-g -O": The value of the parameter `proc' is clobbered
5636 when returning with longjmp despite being declared volatile. */ 5636 when returning with longjmp despite being declared volatile. */
5637 if (!setjmp (send_process_frame)) 5637 if (!_setjmp (send_process_frame))
5638 { 5638 {
5639 p = XPROCESS (proc); /* Repair any setjmp clobbering. */ 5639 p = XPROCESS (proc); /* Repair any setjmp clobbering. */
5640 process_sent_to = proc; 5640 process_sent_to = proc;