----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/8147/#review13669 -----------------------------------------------------------
This is not an acceptable change to me. The problem is purely a windows one and the assert provides a valuable check for the Unix platform. Basically I think the windows implementation of PollableQueue is just wrong - or rather (given that it is implemented purely as a header file) that the Poller it sits on does not do the correct thing on Windows. Essentially the problem it seems to me is that the code called Poller on Windows does not actually perform the Poller functionality, it merely performs a useful service to the AsynchIO code that sits on top of it. If the name was changed then there would have been no confusion and it couldn't have been used as the basis for the Windows implementation of PollableQueue, which would have needed a different implementation on Windows. http://svn.apache.org/repos/asf/qpid/trunk/qpid/cpp/src/qpid/sys/PollableQueue.h <https://reviews.apache.org/r/8147/#comment29293> This comment is entirely untrue for the Unix based ports. There it is not possbible for multiple threads to call dispatch The underlying assumption of using the Poller mechanism is that once an IOHandle has been returned once from Poller::wait it cannot be returned again until it is re-enabled. - Andrew Stitcher On Nov. 21, 2012, 12:54 a.m., Steve Huston wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/8147/ > ----------------------------------------------------------- > > (Updated Nov. 21, 2012, 12:54 a.m.) > > > Review request for qpid, Andrew Stitcher, Chug Rolke, and Cliff Jansen. > > > Description > ------- > > This change prevents multiple threads from processing events at the same > time. They can be enqueued by multiple threads but not dispatched. > > > This addresses bug QPID-4424. > https://issues.apache.org/jira/browse/QPID-4424 > > > Diffs > ----- > > > http://svn.apache.org/repos/asf/qpid/trunk/qpid/cpp/src/qpid/sys/PollableQueue.h > 1411491 > > Diff: https://reviews.apache.org/r/8147/diff/ > > > Testing > ------- > > Original test case from QPID-4424. > > > Thanks, > > Steve Huston > >
