summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/qmf/engine/ResilientConnection.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/cpp/src/qmf/engine/ResilientConnection.cpp b/cpp/src/qmf/engine/ResilientConnection.cpp
index 9c19e4d460..ab65b8d768 100644
--- a/cpp/src/qmf/engine/ResilientConnection.cpp
+++ b/cpp/src/qmf/engine/ResilientConnection.cpp
@@ -96,6 +96,7 @@ namespace engine {
void bind(SessionHandle handle, char* exchange, char* queue, char* key);
void unbind(SessionHandle handle, char* exchange, char* queue, char* key);
void setNotifyFd(int fd);
+ void notify();
void run();
void failure();
@@ -329,6 +330,16 @@ void ResilientConnectionImpl::unbind(SessionHandle handle,
sess->session.exchangeUnbind(client::arg::exchange=exchange, client::arg::queue=queue, client::arg::bindingKey=key);
}
+void ResilientConnectionImpl::notify()
+{
+ if (notifyFd != -1)
+ {
+ int unused_ret; //Suppress warnings about ignoring return value.
+ unused_ret = ::write(notifyFd, ".", 1);
+ }
+}
+
+
void ResilientConnectionImpl::setNotifyFd(int fd)
{
notifyFd = fd;
@@ -496,3 +507,8 @@ void ResilientConnection::setNotifyFd(int fd)
impl->setNotifyFd(fd);
}
+void ResilientConnection::notify()
+{
+ impl->notify();
+}
+