Boost logo

Boost Users :

Subject: [Boost-users] Remind me
From: Dominik Steenken (dominik_at_[hidden])
Date: 2008-11-18 04:24:45


  i am currently trying to implement something very simple: i have some
network code (using boost/asio) which waits for data on a tcp connection
(tcp::socket). Now i want this waiting operation to have a timeout. I
did not find timeout capability in boost/asio so i tried to implement a
timer class using boost/thread. Now there are two problems:
  a) the boost::thread object representing the thread that should be
interrupted after a given time is not necessarily available. i looked at
the namespace this_thread but found no possibility to gain access to a
reference to the current thread.
  b) the interrupt() method only works when the interrupted thread is at
one of the predefined interruption points. In my example however, that
thread is held up in a boost/asio method.
I suppose i could resolve b) by using asynchronous receives but that
would take some serious restructuring and problem a) would still remain.
What i really want is just a timeout version of the synchronous receive
in boost/asio.

Any ideas?

Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at