> On Jan. 25, 2016, 2:42 p.m., Gordon Sim wrote:
> > proton-c/bindings/python/cproton.i, line 447
> > <https://reviews.apache.org/r/42647/diff/1/?file=1205459#file1205459line447>
> >
> >     'async_notify' is a horrible name... is this in addition to or instead 
> > of on_interrupt?

I'm ok with this as a reactor hack provided we are not going to add any events 
to the messaging handler. If we have to add an event to the low-level proton 
handler it should be `on_reactor_foo` so its clear this is reactor-only. IMO 
this is a perfect example of the problem with the reactor design. The right way 
to do interrupts and  injection across threads is very platform specific. The 
pipe trick is great on posix, but you could handle this much more easily on 
Windows if you weren't stuck with the posix-inpired design. In Go this is all 
nonsense, you pass functions on a channel. In python and ruby I'd expect to 
pass callable objects not just dead "events", but in both cases using C to 
intermediate will cause problems with the GIL/GVL locks. This stuff is just 
much easier if you use the tools in the language at hand. I will have ruby and 
C++ injection going shortly around the connection_engine, it already is working 
in Go if you want to check it out.


- Alan


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


On Jan. 22, 2016, 8:11 a.m., Cliff Jansen wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/42647/
> -----------------------------------------------------------
> 
> (Updated Jan. 22, 2016, 8:11 a.m.)
> 
> 
> Review request for qpid, Alan Conway, Andrew Stitcher, Gordon Sim, and Justin 
> Ross.
> 
> 
> Bugs: PROTON-1071
>     https://issues.apache.org/jira/browse/PROTON-1071
> 
> 
> Repository: qpid-proton-git
> 
> 
> Description
> -------
> 
> Wrote new thread safe primitives for reactor and selector for Windows and 
> adapted the existing posix self-pipe mechanism to the changed API.
> 
> Reworked the Python EventInjector to use these primitives via special swig 
> functions.
> 
> Updated the io.h documentation to reflect the more conservative thread 
> guarantee.
> 
> 
> Diffs
> -----
> 
>   examples/python/db_recv.py 8c79049 
>   examples/python/db_send.py c07dcc0 
>   proton-c/bindings/python/cproton.i 734069f 
>   proton-c/bindings/python/proton/reactor.py 195ff28 
>   proton-c/include/proton/event.h 16d2bda 
>   proton-c/include/proton/io.h 19dfe53 
>   proton-c/include/proton/reactor.h e91b169 
>   proton-c/include/proton/selector.h c942393 
>   proton-c/src/events/event.c 5ad718e 
>   proton-c/src/posix/selector.c 7f72c84 
>   proton-c/src/reactor/reactor.c 7ea279b 
>   proton-c/src/windows/iocp.h 0e052e5 
>   proton-c/src/windows/iocp.c 404dd36 
>   proton-c/src/windows/selector.c f139aec 
>   tests/python/proton_tests/reactor.py 6ee107d 
> 
> Diff: https://reviews.apache.org/r/42647/diff/
> 
> 
> Testing
> -------
> 
> rhel7, windows8
> 
> 
> Thanks,
> 
> Cliff Jansen
> 
>

Reply via email to