Author: rhs
Date: Fri Nov 16 03:00:54 2012
New Revision: 1410175

URL: http://svn.apache.org/viewvc?rev=1410175&view=rev
Log:
fixed subscriptions for locally bound messenger

Modified:
    qpid/proton/trunk/proton-c/src/messenger.c

Modified: qpid/proton/trunk/proton-c/src/messenger.c
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/messenger.c?rev=1410175&r1=1410174&r2=1410175&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/messenger.c (original)
+++ qpid/proton/trunk/proton-c/src/messenger.c Fri Nov 16 03:00:54 2012
@@ -395,7 +395,7 @@ void pn_messenger_flow(pn_messenger_t *m
   }
 }
 
-void pn_messenger_endpoints(pn_messenger_t *messenger, pn_connection_t *conn)
+void pn_messenger_endpoints(pn_messenger_t *messenger, pn_connection_t *conn, 
pn_connector_t *ctor)
 {
   if (pn_connection_state(conn) | PN_LOCAL_UNINIT) {
     pn_connection_open(conn);
@@ -428,6 +428,10 @@ void pn_messenger_endpoints(pn_messenger
     pn_terminus_copy(pn_link_source(link), pn_link_remote_source(link));
     pn_terminus_copy(pn_link_target(link), pn_link_remote_target(link));
     pn_link_open(link);
+    if (pn_link_is_receiver(link)) {
+      pn_listener_t *listener = pn_connector_listener(ctor);
+      pn_link_set_context(link, pn_listener_context(listener));
+    }
     link = pn_link_next(link, PN_LOCAL_UNINIT);
   }
 
@@ -514,7 +518,7 @@ int pn_messenger_tsync(pn_messenger_t *m
     while ((c = pn_driver_connector(messenger->driver))) {
       pn_connector_process(c);
       pn_connection_t *conn = pn_connector_connection(c);
-      pn_messenger_endpoints(messenger, conn);
+      pn_messenger_endpoints(messenger, conn, c);
       if (pn_connector_closed(c)) {
         pn_connector_free(c);
         pn_messenger_reclaim(messenger, conn);



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

Reply via email to