diff options
author | Christian Linke <christian.linke@bmw.de> | 2013-03-05 13:58:27 +0100 |
---|---|---|
committer | Christian Linke <christian.linke@bmw.de> | 2013-03-05 13:58:27 +0100 |
commit | 7a78918ef0876128215502007597c7808c7fa340 (patch) | |
tree | 6444ffa2db32b93472ebae0e7842797f5f66a1bf /AudioManagerDaemon/src | |
parent | 3503d13b45551160afb8dda9405cfded42fb61f1 (diff) | |
download | audiomanager-7a78918ef0876128215502007597c7808c7fa340.tar.gz |
* online coding fixed overflow of handles
Signed-off-by: Christian Linke <christian.linke@bmw.de>
Diffstat (limited to 'AudioManagerDaemon/src')
-rw-r--r-- | AudioManagerDaemon/src/CAmRoutingSender.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/AudioManagerDaemon/src/CAmRoutingSender.cpp b/AudioManagerDaemon/src/CAmRoutingSender.cpp index 75d5052..d6ea25e 100644 --- a/AudioManagerDaemon/src/CAmRoutingSender.cpp +++ b/AudioManagerDaemon/src/CAmRoutingSender.cpp @@ -533,9 +533,13 @@ am_Error_e CAmRoutingSender::getListHandles(std::vector<am_Handle_s> & listHandl am_Handle_s CAmRoutingSender::createHandle(const am_handleData_c& handleData, const am_Handle_e type) { am_Handle_s handle; - handle.handle = ++mHandleCount; //todo: handle overflows here... + if (++mHandleCount>=1024) //defined by 10 bit (out if structure!) + mHandleCount=1; + handle.handle = mHandleCount; handle.handleType = type; mlistActiveHandles.insert(std::make_pair(handle, handleData)); + if ((mlistActiveHandles.size()%100) == 0) + logInfo("CAmRoutingSender::createHandle warning: too many open handles, number of handles: ", mlistActiveHandles.size()); return (handle); } |