-----------------------------------------------------------
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
> 
>

Reply via email to