Lines Matching refs:task

28 static LE_STATUS HandleSignalEvent_(const LoopHandle loop, const TaskHandle task, uint32_t oper)  in HandleSignalEvent_()  argument
34 ssize_t s = read(GetSocketFd(task), &fdsi, sizeof(fdsi)); in HandleSignalEvent_()
36 SignalTask *sigTask = (SignalTask *)task; in HandleSignalEvent_()
45 BaseTask *task = (BaseTask *)signalHandle; in HandleSignalTaskClose_() local
46 DelTask((EventLoop *)loopHandle, task); in HandleSignalTaskClose_()
47 CloseTask(loopHandle, task); in HandleSignalTaskClose_()
48 close(task->taskId.fd); in HandleSignalTaskClose_()
65 static void DumpSignalTaskInfo_(const TaskHandle task) in DumpSignalTaskInfo_() argument
67 INIT_CHECK(task != NULL, return); in DumpSignalTaskInfo_()
68 BaseTask *baseTask = (BaseTask *)task; in DumpSignalTaskInfo_()
86 SignalTask *task = (SignalTask *)CreateTask(loopHandle, sfd, &info, sizeof(SignalTask)); in LE_CreateSignalTask() local
87 LE_CHECK(task != NULL, return LE_NO_MEMORY, "Failed to create task"); in LE_CreateSignalTask()
88 task->base.handleEvent = HandleSignalEvent_; in LE_CreateSignalTask()
89 task->base.innerClose = HandleSignalTaskClose_; in LE_CreateSignalTask()
90 task->base.dumpTaskInfo = DumpSignalTaskInfo_; in LE_CreateSignalTask()
91 task->sigNumber = 0; in LE_CreateSignalTask()
92 sigemptyset(&task->mask); in LE_CreateSignalTask()
93 task->processSignal = processSignal; in LE_CreateSignalTask()
94 *signalHandle = (SignalHandle)task; in LE_CreateSignalTask()
102 SignalTask *task = (SignalTask *)signalHandle; in LE_AddSignal() local
103 LE_LOGI("LE_AddSignal %d %d", signal, task->sigNumber); in LE_AddSignal()
104 if (sigismember(&task->mask, signal)) { in LE_AddSignal()
107 sigaddset(&task->mask, signal); in LE_AddSignal()
108 sigprocmask(SIG_BLOCK, &task->mask, NULL); in LE_AddSignal()
109 int sfd = signalfd(GetSocketFd(signalHandle), &task->mask, SFD_NONBLOCK | SFD_CLOEXEC); in LE_AddSignal()
111 if (task->sigNumber == 0) { in LE_AddSignal()
112 loop->addEvent(loop, (const BaseTask *)task, EVENT_READ); in LE_AddSignal()
114 loop->modEvent(loop, (const BaseTask *)task, EVENT_READ); in LE_AddSignal()
116 task->sigNumber++; in LE_AddSignal()
124 SignalTask *task = (SignalTask *)signalHandle; in LE_RemoveSignal() local
125 LE_LOGI("LE_RemoveSignal %d %d", signal, task->sigNumber); in LE_RemoveSignal()
126 if (!sigismember(&task->mask, signal)) { in LE_RemoveSignal()
129 sigdelset(&task->mask, signal); in LE_RemoveSignal()
130 task->sigNumber--; in LE_RemoveSignal()
131 int sfd = signalfd(GetSocketFd(signalHandle), &task->mask, SFD_NONBLOCK | SFD_CLOEXEC); in LE_RemoveSignal()
133 if (task->sigNumber <= 0) { in LE_RemoveSignal()