Lines Matching defs:table

47 STATIC INLINE VOID SetAddPollWaitFlag(struct PollTable *table, BOOL addQueueFlag)
49 table->addQueueFlag = addQueueFlag;
52 STATIC VOID DestroyPollWait(struct PollTable *table)
55 struct PollWaitNode *waitNode = table->node;
62 if (LOS_SemDelete(table->sem) != LOS_OK) {
67 STATIC VOID AddPollWaitQueue(struct PollWaitQueue *waitQueue, struct PollTable *table)
76 waitNode->table = table;
78 table->node = waitNode;
82 STATIC INT32 WaitSemTime(struct PollTable *table, UINT32 timeout)
85 return LOS_SemPend(table->sem, LOS_MS2Tick(timeout));
87 return LOS_SemPend(table->sem, LOS_WAIT_FOREVER);
91 STATIC INT32 QueryFds(struct pollfd *fds, nfds_t nfds, struct PollTable *table)
97 if (((nfds != 0) && (fds == NULL)) || (table == NULL)) {
108 table->event = tmpFds->events | POLLERR | POLLHUP;
110 ret = PollQueryFd(tmpFds->fd, table);
119 SetAddPollWaitFlag(table, FALSE);
137 if (!event || (event & waitNode->table->event)) {
138 if (LOS_SemPost(waitNode->table->sem) != LOS_OK) {
146 VOID PollWait(struct PollWaitQueue *waitQueue, struct PollTable *table)
148 if ((waitQueue == NULL) || (table == NULL)) {
152 if (table->addQueueFlag == TRUE) {
153 AddPollWaitQueue(waitQueue, table);
157 STATIC INLINE INT32 PollTimedWait(struct pollfd *fds, nfds_t nfds, struct PollTable *table, INT32 timeout)
172 ret = WaitSemTime(table, 0);
188 ret = WaitSemTime(table, left);
194 count = QueryFds(fds, nfds, table);
202 struct PollTable table = {0};
205 if (LOS_SemCreate(0, &table.sem) != LOS_OK) {
210 SetAddPollWaitFlag(&table, ((timeout == 0) ? FALSE : TRUE));
212 count = QueryFds(fds, nfds, &table);
221 SetAddPollWaitFlag(&table, FALSE);
223 count = PollTimedWait(fds, nfds, &table, timeout);
226 DestroyPollWait(&table);