Changeset 65 for trunk


Ignore:
Timestamp:
2006-06-06T13:26:22+02:00 (8 years ago)
Author:
moo
Message:

signal handling fix

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/xcache.c

    r55 r65  
    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.