Fix potential 'race' where the first timeout would be hit

Process A writes to the queue
Process B executes + clears the queue
Process C writes to the queue
Process A will now never be head and will just sit until the queue
is empty again or the timeout is hit.