Repository: qpid-proton
Updated Branches:
  refs/heads/master 43384c15e -> e2be27cef


hide access to the selector


Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/e2be27ce
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/e2be27ce
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/e2be27ce

Branch: refs/heads/master
Commit: e2be27cefe4140b08fc61ebaafdbd4ab383c2fe6
Parents: 43384c1
Author: Rafael Schloming <[email protected]>
Authored: Tue Jan 20 11:14:21 2015 -0500
Committer: Rafael Schloming <[email protected]>
Committed: Tue Jan 20 11:15:56 2015 -0500

----------------------------------------------------------------------
 proton-c/include/proton/reactor.h |  1 -
 proton-c/src/reactor/reactor.c    | 11 ++++++++---
 2 files changed, 8 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/e2be27ce/proton-c/include/proton/reactor.h
----------------------------------------------------------------------
diff --git a/proton-c/include/proton/reactor.h 
b/proton-c/include/proton/reactor.h
index d8eb0d1..e04ba6d 100644
--- a/proton-c/include/proton/reactor.h
+++ b/proton-c/include/proton/reactor.h
@@ -61,7 +61,6 @@ PN_EXTERN void pn_reactor_free(pn_reactor_t *reactor);
 PN_EXTERN pn_collector_t *pn_reactor_collector(pn_reactor_t *reactor);
 PN_EXTERN pn_handler_t *pn_reactor_handler(pn_reactor_t *reactor);
 PN_EXTERN pn_io_t *pn_reactor_io(pn_reactor_t *reactor);
-PN_EXTERN pn_selector_t *pn_reactor_selector(pn_reactor_t *reactor);
 PN_EXTERN pn_list_t *pn_reactor_children(pn_reactor_t *reactor);
 PN_EXTERN pn_selectable_t *pn_reactor_selectable(pn_reactor_t *reactor);
 PN_EXTERN void pn_reactor_update(pn_reactor_t *reactor, pn_selectable_t 
*selectable);

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/e2be27ce/proton-c/src/reactor/reactor.c
----------------------------------------------------------------------
diff --git a/proton-c/src/reactor/reactor.c b/proton-c/src/reactor/reactor.c
index 78119fc..bdee2de 100644
--- a/proton-c/src/reactor/reactor.c
+++ b/proton-c/src/reactor/reactor.c
@@ -49,6 +49,11 @@ struct pn_reactor_t {
   bool selected;
 };
 
+static void pn_reactor_mark(pn_reactor_t *reactor) {
+  assert(reactor);
+  reactor->now = pn_i_now();
+}
+
 static void pn_dummy_dispatch(pn_handler_t *handler, pn_event_t *event) {
   /*pn_string_t *str = pn_string(NULL);
   pn_inspect(event, str);
@@ -65,8 +70,8 @@ static void pn_reactor_initialize(pn_reactor_t *reactor) {
   reactor->children = pn_list(PN_OBJECT, 0);
   reactor->timer = pn_timer(reactor->collector);
   reactor->selectable = NULL;
-  reactor->now = pn_i_now();
   reactor->selected = false;
+  pn_reactor_mark(reactor);
 }
 
 static void pn_reactor_finalize(pn_reactor_t *reactor) {
@@ -314,6 +319,7 @@ pn_task_t *pn_reactor_schedule(pn_reactor_t *reactor, int 
delay, pn_handler_t *h
 
 void pn_reactor_process(pn_reactor_t *reactor) {
   assert(reactor);
+  pn_reactor_mark(reactor);
   pn_event_t *event;
   while ((event = pn_collector_peek(reactor->collector))) {
     pni_reactor_dispatch_pre(reactor, event);
@@ -345,7 +351,6 @@ void pn_reactor_start(pn_reactor_t *reactor) {
 
 bool pn_reactor_work(pn_reactor_t *reactor, int timeout) {
   assert(reactor);
-  reactor->now = pn_i_now();
   pn_reactor_process(reactor);
 
   if (pn_selector_size(reactor->selector) == 1) {
@@ -368,7 +373,7 @@ bool pn_reactor_work(pn_reactor_t *reactor, int timeout) {
   pn_selector_select(reactor->selector, timeout);
   pn_selectable_t *sel;
   int events;
-  reactor->now = pn_i_now();
+  pn_reactor_mark(reactor);
   while ((sel = pn_selector_next(reactor->selector, &events))) {
     if (events & PN_READABLE) {
       pn_selectable_readable(sel);


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to