eloop: Add eloop_sock_requeue()

This function can be used to re-build eloop socket tables after forking
for eloop implementations that need this.

Signed-off-by: Roy Marples <roy@marples.name>
This commit is contained in:
Roy Marples 2016-01-22 20:28:25 +00:00 committed by Jouni Malinen
parent 70f4f052f1
commit 2e69bdd16a
8 changed files with 35 additions and 7 deletions

View file

@ -525,6 +525,12 @@ static void eloop_sock_table_dispatch(struct epoll_event *events, int nfds)
#endif /* CONFIG_ELOOP_EPOLL */
int eloop_sock_requeue(void)
{
return 0;
}
static void eloop_sock_table_destroy(struct eloop_sock_table *table)
{
if (table) {

View file

@ -312,6 +312,14 @@ int eloop_register_signal_terminate(eloop_signal_handler handler,
int eloop_register_signal_reconfig(eloop_signal_handler handler,
void *user_data);
/**
* eloop_sock_requeue - Requeue sockets
*
* Requeue sockets after forking because some implementations require this,
* such as epoll and kqueue.
*/
int eloop_sock_requeue(void);
/**
* eloop_run - Start the event loop
*

View file

@ -692,3 +692,9 @@ void eloop_wait_for_read_sock(int sock)
WSAEventSelect(sock, event, 0);
WSACloseEvent(event);
}
int eloop_sock_requeue(void)
{
return 0;
}