----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/51290/#review146512 -----------------------------------------------------------
Ship it! Ship It! - Kenneth Giusti On Aug. 23, 2016, 12:09 p.m., Alan Conway wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/51290/ > ----------------------------------------------------------- > > (Updated Aug. 23, 2016, 12:09 p.m.) > > > Review request for qpid, Gordon Sim and Kenneth Giusti. > > > Bugs: QPID-7317 > https://issues.apache.org/jira/browse/QPID-7317 > > > Repository: qpid-python > > > Description > ------- > > If a process forks while using qpid.messaging, endpoints created by the parent > MUST NOT be used by the child in any way. Previously this could hang the > child, > or the parent, or both. > > This fix raises an exception for such illegal use. > > Related to https://issues.apache.org/jira/browse/QPID-5637 which reset the > Selector > after a fork. Covers two more issues: > > 1. Close the Selector.waiter, its file descriptors are shared with the parent > which > causes havoc. > > 2. Replace the Endpoint._lock in all affected objects with BrokenLock. If the > parent is holding locks when it forks, they remain locked forever in the > child. > BrokenLock.acquire() raises an exception. > > > Diffs > ----- > > qpid/messaging/driver.py 146b8188ab8bebed2d3af26f6bfa6c3667af91cd > qpid/selector.py 4a15d5666257811168e840f42cbe15dd26055259 > > Diff: https://reviews.apache.org/r/51290/diff/ > > > Testing > ------- > > Just the reproducer in https://reviews.apache.org/r/51290/ - if this is > addressing the right issue it will need more testing & review. > > > Thanks, > > Alan Conway > >
