Lines Matching defs:loop

39 void uv__fsevents_loop_delete(uv_loop_t* loop) {
95 CFRunLoopRef loop;
108 static int uv__cf_loop_signal(uv_loop_t* loop,
182 /* Runs in UV loop's thread, when there're events to report to handle */
228 uv_loop_t* loop;
234 loop = info;
235 state = loop->cf_state;
333 uv_loop_t* loop,
342 ctx.info = loop;
375 pFSEventStreamScheduleWithRunLoop(ref, state->loop, *pkCFRunLoopDefaultMode);
404 uv_loop_t* loop,
417 /* NOTE: `i` is used in deallocation loop below */
472 err = uv__fsevents_create_stream(state, loop, cf_paths);
521 * per-event loop properties and have the dynamic linker keep track for us.
583 /* Runs in UV loop */
584 static int uv__fsevents_loop_init(uv_loop_t* loop) {
590 if (loop->cf_state != NULL)
601 err = uv_mutex_init(&loop->cf_mutex);
605 err = uv_sem_init(&loop->cf_sem, 0);
609 uv__queue_init(&loop->cf_signals);
624 ctx.info = loop;
638 loop->cf_state = state;
641 err = UV__ERR(pthread_create(&loop->cf_thread, &attr, uv__cf_loop_runner, loop));
650 uv_sem_wait(&loop->cf_sem);
654 loop->cf_state = NULL;
663 uv_sem_destroy(&loop->cf_sem);
666 uv_mutex_destroy(&loop->cf_mutex);
674 /* Runs in UV loop */
675 void uv__fsevents_loop_delete(uv_loop_t* loop) {
680 if (loop->cf_state == NULL)
683 if (uv__cf_loop_signal(loop, NULL, kUVCFLoopSignalRegular) != 0)
686 uv_thread_join(&loop->cf_thread);
687 uv_sem_destroy(&loop->cf_sem);
688 uv_mutex_destroy(&loop->cf_mutex);
691 while (!uv__queue_empty(&loop->cf_signals)) {
692 q = uv__queue_head(&loop->cf_signals);
699 state = loop->cf_state;
704 loop->cf_state = NULL;
708 /* Runs in CF thread. This is the CF loop's body */
710 uv_loop_t* loop;
713 loop = arg;
714 state = loop->cf_state;
715 state->loop = pCFRunLoopGetCurrent();
717 pCFRunLoopAddSource(state->loop,
721 uv_sem_post(&loop->cf_sem);
724 pCFRunLoopRemoveSource(state->loop,
728 state->loop = NULL;
736 uv_loop_t* loop;
742 loop = arg;
743 state = loop->cf_state;
745 uv_mutex_lock(&loop->cf_mutex);
746 uv__queue_move(&loop->cf_signals, &split_head);
747 uv_mutex_unlock(&loop->cf_mutex);
757 pCFRunLoopStop(state->loop);
759 uv__fsevents_reschedule(state, loop, s->type);
766 /* Runs in UV loop to notify CF thread */
767 int uv__cf_loop_signal(uv_loop_t* loop,
780 uv_mutex_lock(&loop->cf_mutex);
781 uv__queue_insert_tail(&loop->cf_signals, &item->member);
783 state = loop->cf_state;
786 pCFRunLoopWakeUp(state->loop);
788 uv_mutex_unlock(&loop->cf_mutex);
794 /* Runs in UV loop to initialize handle */
799 err = uv__fsevents_loop_init(handle->loop);
815 * Initialize callback for getting them back into event loop's thread
824 uv_async_init(handle->loop, handle->cf_cb, uv__fsevents_cb);
833 state = handle->loop->cf_state;
842 err = uv__cf_loop_signal(handle->loop, handle, kUVCFLoopSignalRegular);
864 /* Runs in UV loop to de-initialize handle */
873 state = handle->loop->cf_state;
882 err = uv__cf_loop_signal(handle->loop, handle, kUVCFLoopSignalClosing);