Changeset 83fcc46 in git


Ignore:
Timestamp:
2006-06-06T11:26:22Z (14 years ago)
Author:
Xuefer <xuefer@…>
Branches:
1.0, 1.1, 1.2, 1.3, 3.0, 3.1, 3.2, master, trunk
Children:
b021e6f, e2fb7b8
Parents:
c3ad766
Message:

signal handling fix

git-svn-id: svn://svn.lighttpd.net/xcache/trunk@65 c26eb9a1-5813-0410-bd6c-c2e55f420ca7

File:
1 edited

Legend:

Unmodified
Added
Removed
  • xcache.c

    rd9763d8 r83fcc46  
    17221722/* signal handler */
    17231723static void (*original_sigsegv_handler)(int) = NULL;
    1724 static void xcache_sigsegv_handler(int dummy) /* {{{ */
    1725 {
    1726     if (original_sigsegv_handler == xcache_sigsegv_handler) {
     1724static void xcache_sigsegv_handler(int sig) /* {{{ */
     1725{
     1726    if (original_sigsegv_handler != xcache_sigsegv_handler) {
    17271727        signal(SIGSEGV, original_sigsegv_handler);
    17281728    }
     
    17331733        chdir(xc_coredump_dir);
    17341734    }
    1735     if (original_sigsegv_handler != xcache_sigsegv_handler) {
    1736         original_sigsegv_handler(dummy);
    1737     }
     1735    raise(sig);
    17381736}
    17391737/* }}} */
     
    19021900    }
    19031901
    1904     original_sigsegv_handler = signal(SIGSEGV, xcache_sigsegv_handler);
     1902    if (xc_coredump_dir && xc_coredump_dir[0]) {
     1903        original_sigsegv_handler = signal(SIGSEGV, xcache_sigsegv_handler);
     1904    }
    19051905
    19061906    xc_init_constant(module_number TSRMLS_CC);
     
    19401940#endif
    19411941
    1942     signal(SIGSEGV, original_sigsegv_handler);
     1942    if (xc_coredump_dir && xc_coredump_dir[0]) {
     1943        signal(SIGSEGV, original_sigsegv_handler);
     1944    }
    19431945    if (xc_coredump_dir) {
    19441946        pefree(xc_coredump_dir, 1);
Note: See TracChangeset for help on using the changeset viewer.