>Number: 1211 >Category: general >Synopsis: race condition in unblock_alarms() >Confidential: no >Severity: serious >Priority: medium >Responsible: apache (Apache HTTP Project) >State: open >Class: sw-bug >Submitter-Id: apache >Arrival-Date: Wed Oct 8 02:20:03 1997 >Originator: [EMAIL PROTECTED] >Organization: apache >Release: 1.3b1 >Environment: all >Description: unblock_alarms() still has a race condition even after the "Ouch! Freeing free block!" patch. If a timeout goes off right after the "exit_after_unblock = 0" it won't exit, it'll jump back to the main loop and continue serving. >How-To-Repeat:
>Fix: I'm not sure yet, I want to preserve the nice code that the common path through there has right now ... i.e. the common path is just decrement, test and return. There should be a solution involving teaching timeout about exit_after_unblock and doing ++alarms_blocked instead of setting exit_after_unblock to 0 >Audit-Trail: >Unformatted:
