Hello all, I have a thrad function like: void sj::eventTrigger(){ boost::mutex::scoped_lock lock(eventTriggerMutex); while (eventTriggerActive){ dFC->eventTriggerLock.wait(lock); /// do something with pointer-variable } } This function is executed by a eventTriggerLock.notify_all() – call from other objects and when I need to pass certain variables into the thread I have been unsing a global pointer variable. Now my question: I wonder if there is a way to get rid of the pointer variable and directly pass variables into the thread such as: eventTriggerLock.notify_all(data1) void sj::eventTrigger(int data1){ boost::mutex::scoped_lock lock(eventTriggerMutex); while (eventTriggerActive){ dFC->eventTriggerLock.wait(lock); /// do something with data1 } } Any hint welcome – thanks in advance Alex