I have two related questions.

1) I have an instance where I use mod_perl to handle persistent connections.  
This is done under Linux and Apache 2.2.15.  There are multiple servers and 
multiple children under each server.

If I send a graceful, it seems like the parent gets the signal but the children 
do not.  Since these are persistent connections, if I could get the signal sent 
down to the children, I could handle it and cause each child to exit 
gracefully.  I do show the signal is getting delivered as I enabled the 
Apache2::ServerUtil::server_shutdown_cleanup_register to call a function and 
log the signal but I see one instance written to the log and not one per 
server.  How can this be done?

2) I would also like to know if I can do anything about the status page showing 
more information about those persistent connections.  The Client and VHost show 
'?' and the Request shows '..reading..'.  These children are always in the read 
state until they receive data.  They then process the data, send the response, 
then go back to read until the client disconnects.  I would like to know if it 
is possible for the Client IP to show up on the status page.  Currently the 
status lines look like:

Srv          PID         Acc         M            CPU       SS           Req    
    Conn     Child      Slot        Client    VHost    Request
0-0          4021       0/0/0     R             0.00        23628    0          
    0.0          0.00        0.00        ?              ?              
..reading..
0-0          4021       0/0/0     R             0.00        22517    0          
    0.0          0.00        0.00        ?              ?              
..reading..
0-0          4021       0/0/0     R             0.00        9085       0        
      0.0          0.00        0.00        ?              ?              
..reading..
0-0          4021       0/0/0     R             0.00        2367       0        
      0.0          0.00        0.00        ?              ?              
..reading..

I would like to see the client show up like:

Srv          PID         Acc         M            CPU       SS           Req    
    Conn     Child      Slot        Client    VHost    Request
0-0          4021       0/0/0     R             0.00        23628    0          
    0.0          0.00        0.00        10.1.1.2 ?             ..reading..

Is this an issue in mod_perl not setting the ws_record->client?  I do have 
access to the remote IP via $connection->remote_ip so why is it not showing up 
in the status page?  I did try to modify the line in mod_status to show the 
client and vhost if the status was SERVER_BUSY_READ but nothing shows up like:

Srv          PID         Acc         M            CPU       SS           Req    
    Conn     Child      Slot        Client    VHost    Request
0-0          4021       0/0/0     R             0.00        23628    0          
    0.0          0.00        0.00                                        
..reading..

Reply via email to