- } else {
- /* no owned event, check events */
- events = events_get();
- if (events) {
- /* run the events */
- events->used = 1;
- events->runs = 1;
- events->timeout = evto;
- me->events = events;
- pthread_mutex_unlock(&mutex);
- sig_monitor(0, events_call, events);
- pthread_mutex_lock(&mutex);
- events->used = 0;
- events->runs = 0;
- me->events = NULL;
- } else {
- /* no job and not events */
- waiting++;
- me->waits = 1;
- pthread_cond_wait(&cond, &mutex);
- me->waits = 0;
- waiting--;