virNetClientCallQueue(&client->waitDispatch, thiscall);
/* Check to see if another thread is dispatching */
-recheck:
if (client->haveTheBuck) {
char ignore = 1;
goto cleanup;
}
- /* Grr, someone might have passed the buck onto us ... */
-
- /* We need to re-check if the buck has been passed to this thread
- * as this thread might have been signalled to wake up, but another
- * call might acquire the lock before this thread manages to wake up.
- * This could cause that two threads claim they have the buck */
- goto recheck;
+ /* Grr, someone passed the buck onto us ... */
}
VIR_DEBUG("We have the buck %p %p", client->waitDispatch, thiscall);