>Number: 2227 >Category: os-bsdi >Synopsis: serializing access to accept with fcntl works better than >flock under BSDI >Confidential: no >Severity: serious >Priority: medium >Responsible: apache >State: open >Class: change-request >Submitter-Id: apache >Arrival-Date: Wed May 13 14:20:01 PDT 1998 >Last-Modified: >Originator: [EMAIL PROTECTED] >Organization: apache >Release: 1.2.6 >Environment: BSDI/OS 2.1 and 3.1 with the standard compiler >Description: in the interest of honesty i have to tell you that we added the apache/SSL patch, and started using multiple `Listen' directives, at the same time. but, after we did so, our HTTP test program started having problems (seldom; a few times a day) with the servers so upgraded. the problem was that requests would sometimes time out after 30 seconds. since the requests (1) are distinctive; i can distinguish the test program's requests from other programs' requests and (2) occur at very regular intervals, i was able to determine that requests that timed out were actually logged by the server like a minute or two after they were issued, and at the exact same instant as another request came in to the server---as though the first request had gotten stuck, and the second one jarred it loose.
anyway, since we'd never used multiple listen directives before, i tried switching the servers in question from the default flock locking to fcntl locking, for synchronization of calls to accept. this worked fine; the test program has not noted any problems since i made the change. >How-To-Repeat: no guarantee that you can; but i would be surprised if whatever conditions you customarily use to tickle the accept synchronization problem do not produce it with flock locking under vanilla BSDI 2.1 or 3.1. >Fix: switch BSDI to fcntl locking. >Audit-Trail: >Unformatted: [In order for any reply to be added to the PR database, ] [you need to include <[EMAIL PROTECTED]> in the Cc line ] [and leave the subject line UNCHANGED. This is not done] [automatically because of the potential for mail loops. ]
