httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ronnie Brunner <ronnie.brun...@netcetera.ch>
Subject Apache 2.2 -X commanlinde option broken?
Date Thu, 23 Feb 2006 22:19:08 GMT
Hi y'all

When I start my httpd 2.2.0 (prefork mpm on solaris) using the -X
option for some automated testing of a module I wrote, I cannot stop the
process correctly anymore (works in httpd 2.0.x and earlier).

It seems that the SIGTERM signal is just ignored by the process. (Only
thing I can do is a "kill -9". An "httpd -k stop" doesn't work either
(seems to just send a SIGTERM to the process).

Is the -X option not supported anymore? Or is it just broken?

(An no, it does not have to do anything with my module, as it behaves
just the same even when my module isn't even anywhere on the file
system ;-)

truss output of a SIGTERM signal in httpd 2.2.0:

 signotifywait()                                 = 15
     Received signal #15, SIGTERM, in accept() [caught]
       siginfo: SIGTERM pid=6129 uid=1001
 lwp_sigredirect(1, SIGTERM, 0xFEC0FC6C)         = 0
 signotifywait()                                 = 25
 accept(3, 0x0012DF90, 0x0012DF7C, 1)            Err#4 EINTR
 lwp_sigredirect(0, SIGCONT, 0x00000000)         = 0
 lwp_mutex_wakeup(0xFEEF34F8)                    = 0
 lwp_mutex_lock(0xFEEF34F8)                      = 0
 sigprocmask(SIG_SETMASK, 0xFEEECFB8, 0x00000000) = 0
 sigprocmask(SIG_SETMASK, 0xFEEF8CE0, 0x00000000) = 0
 setcontext(0xFFBEE9E8)
 accept(3, 0x0012DF90, 0x0012DF7C, 1) (sleeping...)
 signotifywait()                 (sleeping...)
 door_return(0x00000000, 0, 0x00000000, 0) (sleeping...)
 lwp_cond_wait(0xFEEF34E8, 0xFEEF34F8, 0xFEEECD80) (sleeping...)

and the same with httpd 2.0.53 (which works as expected):

 signotifywait()                                 = 15
     Received signal #15, SIGTERM, in accept() [caught]
       siginfo: SIGTERM pid=6129 uid=1001
 lwp_sigredirect(1, SIGTERM, 0xFEC0FC6C)         = 0
 signotifywait()                                 = 25
 accept(3, 0x0011EE64, 0x0011EE84, 1)            Err#4 EINTR
 lwp_sigredirect(0, SIGCONT, 0x00000000)         = 0
 sigprocmask(SIG_SETMASK, 0xFEE9CFB8, 0x00000000) = 0
 close(5)                                        = 0
 close(4)                                        = 0
 llseek(0, 0, SEEK_CUR)                          = 17951
 _exit(0)


TIA for any insight
Ronnie  
--
Ronnie Brunner | ronnie.brunner@netcetera.ch
phone +41 (0)44 247 79 79 | fax +41 (0)44 247 70 75
Netcetera AG | 8040 Z├╝rich | Switzerland | http://netcetera.ch

Mime
View raw message