Lines Matching refs:state

229   uv__cf_loop_state_t* state;  in uv__fsevents_event_cb()  local
235 state = loop->cf_state; in uv__fsevents_event_cb()
236 assert(state != NULL); in uv__fsevents_event_cb()
240 uv_mutex_lock(&state->fsevent_mutex); in uv__fsevents_event_cb()
241 uv__queue_foreach(q, &state->fsevent_handles) { in uv__fsevents_event_cb()
323 uv_mutex_unlock(&state->fsevent_mutex); in uv__fsevents_event_cb()
328 static int uv__fsevents_create_stream(uv__cf_loop_state_t* state, in uv__fsevents_create_stream() argument
371 pFSEventStreamScheduleWithRunLoop(ref, state->loop, *pkCFRunLoopDefaultMode); in uv__fsevents_create_stream()
378 state->fsevent_stream = ref; in uv__fsevents_create_stream()
384 static void uv__fsevents_destroy_stream(uv__cf_loop_state_t* state) { in uv__fsevents_destroy_stream() argument
385 if (state->fsevent_stream == NULL) in uv__fsevents_destroy_stream()
389 pFSEventStreamStop(state->fsevent_stream); in uv__fsevents_destroy_stream()
392 pFSEventStreamInvalidate(state->fsevent_stream); in uv__fsevents_destroy_stream()
393 pFSEventStreamRelease(state->fsevent_stream); in uv__fsevents_destroy_stream()
394 state->fsevent_stream = NULL; in uv__fsevents_destroy_stream()
399 static void uv__fsevents_reschedule(uv__cf_loop_state_t* state, in uv__fsevents_reschedule() argument
419 uv_mutex_lock(&state->fsevent_mutex); in uv__fsevents_reschedule()
420 if (state->fsevent_need_reschedule == 0) { in uv__fsevents_reschedule()
421 uv_mutex_unlock(&state->fsevent_mutex); in uv__fsevents_reschedule()
424 state->fsevent_need_reschedule = 0; in uv__fsevents_reschedule()
425 uv_mutex_unlock(&state->fsevent_mutex); in uv__fsevents_reschedule()
428 uv__fsevents_destroy_stream(state); in uv__fsevents_reschedule()
434 uv_mutex_lock(&state->fsevent_mutex); in uv__fsevents_reschedule()
435 path_count = state->fsevent_handle_count; in uv__fsevents_reschedule()
439 uv_mutex_unlock(&state->fsevent_mutex); in uv__fsevents_reschedule()
443 q = &state->fsevent_handles; in uv__fsevents_reschedule()
446 assert(q != &state->fsevent_handles); in uv__fsevents_reschedule()
453 uv_mutex_unlock(&state->fsevent_mutex); in uv__fsevents_reschedule()
458 uv_mutex_unlock(&state->fsevent_mutex); in uv__fsevents_reschedule()
468 err = uv__fsevents_create_stream(state, loop, cf_paths); in uv__fsevents_reschedule()
484 uv_mutex_lock(&state->fsevent_mutex); in uv__fsevents_reschedule()
485 uv__queue_foreach(q, &state->fsevent_handles) { in uv__fsevents_reschedule()
489 uv_mutex_unlock(&state->fsevent_mutex); in uv__fsevents_reschedule()
499 uv_sem_post(&state->fsevent_sem); in uv__fsevents_reschedule()
582 uv__cf_loop_state_t* state; in uv__fsevents_loop_init() local
593 state = uv__calloc(1, sizeof(*state)); in uv__fsevents_loop_init()
594 if (state == NULL) in uv__fsevents_loop_init()
607 err = uv_sem_init(&state->fsevent_sem, 0); in uv__fsevents_loop_init()
611 err = uv_mutex_init(&state->fsevent_mutex); in uv__fsevents_loop_init()
615 uv__queue_init(&state->fsevent_handles); in uv__fsevents_loop_init()
616 state->fsevent_need_reschedule = 0; in uv__fsevents_loop_init()
617 state->fsevent_handle_count = 0; in uv__fsevents_loop_init()
622 state->signal_source = pCFRunLoopSourceCreate(NULL, 0, &ctx); in uv__fsevents_loop_init()
623 if (state->signal_source == NULL) { in uv__fsevents_loop_init()
634 loop->cf_state = state; in uv__fsevents_loop_init()
653 uv_mutex_destroy(&state->fsevent_mutex); in uv__fsevents_loop_init()
656 uv_sem_destroy(&state->fsevent_sem); in uv__fsevents_loop_init()
665 uv__free(state); in uv__fsevents_loop_init()
673 uv__cf_loop_state_t* state; in uv__fsevents_loop_delete() local
695 state = loop->cf_state; in uv__fsevents_loop_delete()
696 uv_sem_destroy(&state->fsevent_sem); in uv__fsevents_loop_delete()
697 uv_mutex_destroy(&state->fsevent_mutex); in uv__fsevents_loop_delete()
698 pCFRelease(state->signal_source); in uv__fsevents_loop_delete()
699 uv__free(state); in uv__fsevents_loop_delete()
707 uv__cf_loop_state_t* state; in uv__cf_loop_runner() local
710 state = loop->cf_state; in uv__cf_loop_runner()
711 state->loop = pCFRunLoopGetCurrent(); in uv__cf_loop_runner()
713 pCFRunLoopAddSource(state->loop, in uv__cf_loop_runner()
714 state->signal_source, in uv__cf_loop_runner()
720 pCFRunLoopRemoveSource(state->loop, in uv__cf_loop_runner()
721 state->signal_source, in uv__cf_loop_runner()
724 state->loop = NULL; in uv__cf_loop_runner()
733 uv__cf_loop_state_t* state; in uv__cf_loop_cb() local
739 state = loop->cf_state; in uv__cf_loop_cb()
753 pCFRunLoopStop(state->loop); in uv__cf_loop_cb()
755 uv__fsevents_reschedule(state, loop, s->type); in uv__cf_loop_cb()
767 uv__cf_loop_state_t* state; in uv__cf_loop_signal() local
779 state = loop->cf_state; in uv__cf_loop_signal()
780 assert(state != NULL); in uv__cf_loop_signal()
781 pCFRunLoopSourceSignal(state->signal_source); in uv__cf_loop_signal()
782 pCFRunLoopWakeUp(state->loop); in uv__cf_loop_signal()
794 uv__cf_loop_state_t* state; in uv__fsevents_init() local
834 state = handle->loop->cf_state; in uv__fsevents_init()
835 uv_mutex_lock(&state->fsevent_mutex); in uv__fsevents_init()
836 uv__queue_insert_tail(&state->fsevent_handles, &handle->cf_member); in uv__fsevents_init()
837 state->fsevent_handle_count++; in uv__fsevents_init()
838 state->fsevent_need_reschedule = 1; in uv__fsevents_init()
839 uv_mutex_unlock(&state->fsevent_mutex); in uv__fsevents_init()
868 uv__cf_loop_state_t* state; in uv__fsevents_close() local
874 state = handle->loop->cf_state; in uv__fsevents_close()
875 uv_mutex_lock(&state->fsevent_mutex); in uv__fsevents_close()
877 state->fsevent_handle_count--; in uv__fsevents_close()
878 state->fsevent_need_reschedule = 1; in uv__fsevents_close()
879 uv_mutex_unlock(&state->fsevent_mutex); in uv__fsevents_close()
888 uv_sem_wait(&state->fsevent_sem); in uv__fsevents_close()