qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Stitcher" <astitc...@apache.org>
Subject Re: Review Request: QPID-4424 - prevent multiple threads from processing PollableQueue events simultaneously
Date Wed, 21 Nov 2012 15:30:30 GMT


> On Nov. 21, 2012, 2:57 p.m., Andrew Stitcher wrote:
> > 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.

Looking at this a bit more - I think essentially the issue is that PollableCondition (a completely
dreadful name which tells you nothing about what the class is supposed to do) needs to ensure
that it doesn't dispatch multiple times to PollableQueue.


- Andrew


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/8147/#review13669
-----------------------------------------------------------


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


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message