You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by Alan Conway <ac...@redhat.com> on 2017/03/19 16:54:17 UTC
Re: Review Request 57702: PROTON-1440: libuv proactor - thread safe
pn_connection_wake
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/57702/
-----------------------------------------------------------
(Updated March 19, 2017, 4:54 p.m.)
Review request for qpid, Andrew Stitcher and Cliff Jansen.
Summary (updated)
-----------------
PROTON-1440: libuv proactor - thread safe pn_connection_wake
Repository: qpid-proton-git
Description
-------
PROTON-1440: libuv proactor - thread safe pn_connection_wake
This fix does not change the API but makes pn_connection_wake thread safe.
To be thread safe we need to a lock, so the pconnection_t attachment stays
on the pn_connection_t until the pn_connection_t is destroyed.
pn_proactor_free also was modified to run the normal socket close sequence
rather than a short-cut that just closes TCP sockets - this allows the
wake locking logic to run as normal, even if the application calls wake
after the proactor is freed.
also at https://github.com/alanconway/qpid-proton/tree/safe-wake
Diffs
-----
proton-c/bindings/cpp/src/contexts.cpp 8da8f7cf5b64c75e7eaddc27069b8a7160e6f9d6
proton-c/src/proactor/libuv.c 102fcdd8a30d2dd57d9545552bcfd695a251a66d
proton-c/src/tests/proactor.c beba46e84c75fb36677576b645fd2f39bb238827
Diff: https://reviews.apache.org/r/57702/diff/2/
Testing
-------
Thanks,
Alan Conway
Re: Review Request 57702: PROTON-1440: libuv proactor - thread safe
pn_connection_wake
Posted by Alan Conway <ac...@redhat.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/57702/
-----------------------------------------------------------
(Updated March 19, 2017, 5:06 p.m.)
Review request for qpid, Andrew Stitcher and Cliff Jansen.
Changes
-------
Fixed Andrew's nit
Repository: qpid-proton-git
Description
-------
PROTON-1440: libuv proactor - thread safe pn_connection_wake
This fix does not change the API but makes pn_connection_wake thread safe.
To be thread safe we need to a lock, so the pconnection_t attachment stays
on the pn_connection_t until the pn_connection_t is destroyed.
pn_proactor_free also was modified to run the normal socket close sequence
rather than a short-cut that just closes TCP sockets - this allows the
wake locking logic to run as normal, even if the application calls wake
after the proactor is freed.
also at https://github.com/alanconway/qpid-proton/tree/safe-wake
Diffs (updated)
-----
proton-c/bindings/cpp/src/contexts.cpp 8da8f7cf5b64c75e7eaddc27069b8a7160e6f9d6
proton-c/src/proactor/libuv.c 102fcdd8a30d2dd57d9545552bcfd695a251a66d
proton-c/src/tests/proactor.c beba46e84c75fb36677576b645fd2f39bb238827
Diff: https://reviews.apache.org/r/57702/diff/4/
Changes: https://reviews.apache.org/r/57702/diff/3-4/
Testing
-------
Thanks,
Alan Conway
Re: Review Request 57702: PROTON-1440: libuv proactor - thread safe
pn_connection_wake
Posted by Alan Conway <ac...@redhat.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/57702/
-----------------------------------------------------------
(Updated March 19, 2017, 5 p.m.)
Review request for qpid, Andrew Stitcher and Cliff Jansen.
Changes
-------
Make pconnection_t a real pn_class with it's one finalize to clean up the mutex.
Repository: qpid-proton-git
Description
-------
PROTON-1440: libuv proactor - thread safe pn_connection_wake
This fix does not change the API but makes pn_connection_wake thread safe.
To be thread safe we need to a lock, so the pconnection_t attachment stays
on the pn_connection_t until the pn_connection_t is destroyed.
pn_proactor_free also was modified to run the normal socket close sequence
rather than a short-cut that just closes TCP sockets - this allows the
wake locking logic to run as normal, even if the application calls wake
after the proactor is freed.
also at https://github.com/alanconway/qpid-proton/tree/safe-wake
Diffs (updated)
-----
proton-c/bindings/cpp/src/contexts.cpp 8da8f7cf5b64c75e7eaddc27069b8a7160e6f9d6
proton-c/src/proactor/libuv.c 102fcdd8a30d2dd57d9545552bcfd695a251a66d
proton-c/src/tests/proactor.c beba46e84c75fb36677576b645fd2f39bb238827
Diff: https://reviews.apache.org/r/57702/diff/3/
Changes: https://reviews.apache.org/r/57702/diff/2-3/
Testing
-------
Thanks,
Alan Conway