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 | [EMAIL PROTECTED]
phone +41 (0)44 247 79 79 | fax +41 (0)44 247 70 75
Netcetera AG | 8040 Zürich | Switzerland | http://netcetera.ch

Reply via email to