Pop the first data available in the queue, locking the calling if no data is available, but bounding the waiting to the value provided.
The function is ensured to return with a reference to some data.
|queue ||The queue where data will be required.|
|microseconds ||The period to wait.|
- A reference to the next data available.
- A reference to the data queue, or NULL if the timeout is reached.