From 7a78918ef0876128215502007597c7808c7fa340 Mon Sep 17 00:00:00 2001 From: Christian Linke Date: Tue, 5 Mar 2013 13:58:27 +0100 Subject: * online coding fixed overflow of handles Signed-off-by: Christian Linke --- AudioManagerDaemon/src/CAmRoutingSender.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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 & 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); } -- cgit v1.2.1