ID:               35894
 Updated by:       [email protected]
 Reported By:      jik at kamens dot brookline dot ma dot us
-Status:           Open
+Status:           Analyzed
 Bug Type:         Feature/Change Request
 Operating System: Linux
 PHP Version:      5.1.2
 New Comment:

The problem with PHP setting a handler for SIGUSR2 is that when we are

running as a SAPI module inside some other process like Apache or 
anything using LinuxThreads, grabbing SIGUSR2 may cause problems.  
Newer Linux kernels provide reserved internals signals for LinuxThreads

to use, and Apache should only be using SIGUSR1, but how confident are

you that PHP grabbing this signal isn't going to break it in some 
environments?  It may fix the problem in yours, but if it breaks it in

many others that is something we need to deal with.


Previous Comments:
------------------------------------------------------------------------

[2010-01-10 21:45:30] tdfischer at fedoraproject dot org

This bug is still around and can wreak havok for a drupal site that
lets 
users submit content via machine-local mail. Could someone *please* 
commit it already?

------------------------------------------------------------------------

[2006-01-05 15:56:17] jik at kamens dot brookline dot ma dot us

You *don't* want to allow the simultaneous opening of a mailbox by two
processes.  The whole point of locking is to *prevent* the simultaneous
opening of a mailbox by two processes.  What the locking is *supposed*
to do is to make one process *wait* for the other one, but what it does
instead, if you don't catch the USR2 signal, is for the process that got
the lock first to *die* after *being killed* by the other one.  This is
not correct behavior.

Incidentally, I just tested with a newly compiled c-client 2004g and
confirmed that the problem persists there without my patch.

------------------------------------------------------------------------

[2006-01-05 10:07:30] [email protected]

Why would you want to allow opening same mailbox by two simultaneous
processes?

------------------------------------------------------------------------

[2006-01-05 04:13:45] jik at kamens dot brookline dot ma dot us

Please look carefully at the output.  The notices are not "harmless". 
Note that the message "successfully opened mailbox" only appears *once*.
 It should appear twice, because there are two processes who both want
to open the mailbox.  It only appears once because one of the two
processes is killed by a USR2 signal as I've described.

I don't know why the patch I sent didn't help for you.  It reliably
solves the problem for me.  Perhaps I picked bad preprocessor symbols
and it's not actually getting compiled into the object code on your
system.  Can you put debugging code in to see if the arm_signal calls
are actually happening?

Thanks.

------------------------------------------------------------------------

[2006-01-05 01:01:06] [email protected]

I get the same notices, which seem quite harmless anyway. And your
patch did not make any difference whatsoever.


------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/35894

-- 
Edit this bug report at http://bugs.php.net/?id=35894&edit=1

Reply via email to