acbd59d0a8
It was possible for the SIGINT/SIGTERM signal to be received while processing a pending timeout/socket/signal event and then get stuck in the following select() call before processing the signal event. If no other events show up within the two second SIGALRM trigger, process will be terminated forcefully even though there would have been possibility to do clean termination assuming no operationg blocked for that two second time. Handle this more cleanly by checking for eloop.pending_terminate before starting the select()/poll()/epoll_wait() wait for the following event. Terminate the loop if pending signal handling requests termination. In addition, make eloop_terminated() return 1 on eloop.pending_terminate in addition to eloop.terminate since the process will be terminated shortly and there is no point in starting additional processing. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> |
||
---|---|---|
.. | ||
ap | ||
common | ||
crypto | ||
drivers | ||
eap_common | ||
eap_peer | ||
eap_server | ||
eapol_auth | ||
eapol_supp | ||
fst | ||
l2_packet | ||
p2p | ||
pae | ||
radius | ||
rsn_supp | ||
tls | ||
utils | ||
wps | ||
lib.rules | ||
Makefile |