diff options
| author | Paul Eggert | 2012-09-03 23:34:19 -0700 |
|---|---|---|
| committer | Paul Eggert | 2012-09-03 23:34:19 -0700 |
| commit | af26b72c1187a93cdacc6abb6561f3c331346cef (patch) | |
| tree | 12dd2afed044c50078a831bf3aaaa981d79586b8 /src/process.c | |
| parent | 7b6c362efe6e32b6a3a68f6f827c9cc558a2fcf0 (diff) | |
| download | emacs-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.c | 4 |
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; |