You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Ronnie Brunner <ro...@netcetera.ch> on 2006/02/23 23:19:08 UTC

Apache 2.2 -X commanlinde option broken?

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

Re: Apache 2.2 -X commanlinde option broken?

Posted by Ronnie Brunner <ro...@netcetera.ch>.
> Is the -X option not supported anymore? Or is it just broken?

FWIW: It really is broken: I have the same problem on Redhat 8 and
Joachim Zobel reported the same for debian etch (x86) on a different
mailing list.

I can't imagine that this is a desired behavior (as it does not make
sense not being able to properly shutdown httpd) so I'll submit a bug.

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