From 3123aeb32ac952d47f0652fd8715ad5df855fd5d Mon Sep 17 00:00:00 2001 From: Thulinma Date: Fri, 17 Jan 2014 16:51:12 +0100 Subject: [PATCH] Fixed buffer CPU usage when streams are ended. --- src/buffer/buffer.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/buffer/buffer.cpp b/src/buffer/buffer.cpp index d51ff300..2e6d7c57 100644 --- a/src/buffer/buffer.cpp +++ b/src/buffer/buffer.cpp @@ -55,13 +55,16 @@ namespace Buffer { ///\brief A function to handle input data. ///\param conn A socket reference. void handlePushIn(Socket::Connection & conn){ - #if defined(_TTHREAD_POSIX_) && !(defined(__FreeBSD__) || defined(__APPLE__) || defined(__MACH__) || defined(_WIN32) || defined(__CYGWIN__)) + #if defined(_TTHREAD_POSIX_) && defined(WITH_THREADNAMES) && !(defined(__FreeBSD__) || defined(__APPLE__) || defined(__MACH__) || defined(_WIN32) || defined(__CYGWIN__)) pthread_setname_np(pthread_self(), "Push Input"); #endif conn.setBlocking(true); int sockNo = 0; while (buffer_running && conn.connected()){ - thisStream->parsePacket(conn); + while (thisStream->parsePacket(conn)){ + //do nothing while parsing + } + Util::sleep(10);//sleep to prevent high CPU usage } if (buffer_running){ thisStream->endStream();