- if(!(type & WHOQUEUETYPE_ISONQUEUE)) return;
- struct WHOQueueEntry* entry = getNextWHOQueueEntry(client, 1);
- if(entry == NULL || (entry->type & WHOQUEUETYPE_CHECKTYPE) != (type & WHOQUEUETYPE_CHECKTYPE)) return;
- if(type & WHOQUEUETYPE_USERLIST) {
+ struct WHOQueueEntry* entry = getNextWHOQueueEntry(client, type, 0);
+ if(entry == NULL) return;
+ #ifdef HAVE_THREADS
+ unsigned int tid = (unsigned int) pthread_self_tid();
+ while(!clientsocket_parseorder_top(tid)) {
+ usleep(1000); //1ms
+ }
+ #endif
+ getNextWHOQueueEntry(client, type, 1);
+ if(entry->type & WHOQUEUETYPE_USERLIST) {