Skip to content

Commit 269d380

Browse files
author
liujinhu_llpt
authored
Update ff_socket_ops.c
chaneg sem_flag condition
1 parent b36406e commit 269d380

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

adapter/syscall/ff_socket_ops.c

+11-2
Original file line numberDiff line numberDiff line change
@@ -308,9 +308,18 @@ ff_sys_epoll_wait(struct ff_epoll_wait_args *args)
308308

309309
#ifdef FF_PRELOAD_POLLING_MODE
310310
/*
311-
* We set sem_flag 1, when set sc->status = FF_SC_REP, set sem_flag 0.
311+
* If an event is generated or error occurs, user app epoll_wait return imme.
312312
*/
313-
sem_flag = 1;
313+
if (ret != 0) {
314+
sem_flag = 1;
315+
} else {
316+
if (args->timeout < 0) {
317+
/* -1 : Block user app until an event or error occurs. */
318+
sem_flag = 0;
319+
} else {
320+
sem_flag = 1;
321+
}
322+
}
314323
#else
315324
/*
316325
* If timeout is 0, and no event triggered,

0 commit comments

Comments
 (0)