From 9fe19152570b6388fc518bda6ccd422d14cff37a Mon Sep 17 00:00:00 2001 From: David Robillard Date: Fri, 5 Oct 2007 19:41:24 +0000 Subject: Fix OSC receiving thread chewing CPU (xrun problem on single core systems). git-svn-id: http://svn.drobilla.net/lad/ingen@827 a436a847-0d15-0410-975c-d299462d15a1 --- src/libs/engine/OSCEngineReceiver.hpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/libs/engine/OSCEngineReceiver.hpp') diff --git a/src/libs/engine/OSCEngineReceiver.hpp b/src/libs/engine/OSCEngineReceiver.hpp index d46bc7c3..c4f86b8c 100644 --- a/src/libs/engine/OSCEngineReceiver.hpp +++ b/src/libs/engine/OSCEngineReceiver.hpp @@ -69,7 +69,16 @@ public: void deactivate(); private: - virtual void _run(); + struct ReceiveThread : public Raul::Thread { + ReceiveThread(OSCEngineReceiver& receiver) : _receiver(receiver) {} + virtual void _run(); + private: + OSCEngineReceiver& _receiver; + }; + + friend class ReceiveThread; + + ReceiveThread* _receive_thread; static void error_cb(int num, const char* msg, const char* path); static int set_response_address_cb(LO_HANDLER_ARGS, void* myself); -- cgit v1.2.1