summaryrefslogtreecommitdiff
path: root/AudioManagerUtilities/include/CAmSerializer.h
diff options
context:
space:
mode:
Diffstat (limited to 'AudioManagerUtilities/include/CAmSerializer.h')
-rw-r--r--AudioManagerUtilities/include/CAmSerializer.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/AudioManagerUtilities/include/CAmSerializer.h b/AudioManagerUtilities/include/CAmSerializer.h
index 40f2f07..b0cd70e 100644
--- a/AudioManagerUtilities/include/CAmSerializer.h
+++ b/AudioManagerUtilities/include/CAmSerializer.h
@@ -254,6 +254,8 @@ private:
int mPipe[2]; //!< the pipe
int mReturnPipe[2]; //!< pipe handling returns
+ sh_pollHandle_t mHandle;
+ CAmSocketHandler* mpSocketHandler;
std::deque<CAmDelegagePtr> mListDelegatePoiters; //!< intermediate queue to store the pipe results
public:
@@ -764,6 +766,8 @@ public:
CAmSerializer(CAmSocketHandler *iSocketHandler) :
mPipe(), //
mReturnPipe(),//
+ mHandle(),
+ mpSocketHandler(iSocketHandler),
mListDelegatePoiters(), //
receiverCallbackT(this, &CAmSerializer::receiverCallback), //
dispatcherCallbackT(this, &CAmSerializer::dispatcherCallback), //
@@ -784,17 +788,17 @@ public:
}
short event = 0;
- sh_pollHandle_t handle;
event |= POLLIN;
- iSocketHandler->addFDPoll(mPipe[0], event, NULL, &receiverCallbackT, &checkerCallbackT, &dispatcherCallbackT, NULL, handle);
+ mpSocketHandler->addFDPoll(mPipe[0], event, NULL, &receiverCallbackT, &checkerCallbackT, &dispatcherCallbackT, NULL, mHandle);
}
~CAmSerializer()
{
- close(mPipe[0]);
- close(mPipe[1]);
- close(mReturnPipe[0]);
- close(mReturnPipe[1]);
+ mpSocketHandler->removeFDPoll(mHandle);
+ close(mPipe[0]);
+ close(mPipe[1]);
+ close(mReturnPipe[0]);
+ close(mReturnPipe[1]);
}
};
} /* namespace am */