Stephan,

what about that:

On Wed, Mar 4, 2009 at 3:20 PM, Stephan Menzel <stephan.menzel@gmx.eu> wrote:
like this (pseudo):

void readthread() {
  try
     {
    // go into blocking read
    sock.sync_receive_from(...);
        // signal successful read
     }
     catch(boost::thread_interrupted const& e)
     {
        //handle interruption
     }

}

original thread:

...
 thread t1(readthread);
 boost::this_thread::sleep(timeout);
     if(/*not signaled successful read*/)
       t1.interrupt();


Regards,
Ovanes