diff options
author | Tobias Klauser <tklauser@distanz.ch> | 2017-01-10 15:54:52 +0100 |
---|---|---|
committer | Tobias Klauser <tklauser@distanz.ch> | 2017-01-10 15:54:52 +0100 |
commit | e9cd5a6826f198029ee466ae63d56dca4dfa4ad7 (patch) | |
tree | cb259a1fc5cbb2b8bef965ea0f968b056fefbd5d /llmnr.h | |
parent | 6281d3c3633fb1de98ff6010212325e45c226f3c (diff) |
llmnrd: merge rtnl interface event loop into main select() loops
Instead of spawming a thread for the sole purpose of watching the rtnl
for (presumably) seldom events, just merge the select() for all sockets
together in one single main loop.
This reduces unnecessary complexity and makes llmnrd no longer require
any locking.
It also allows us to handle signals in a thread-safe manner (as there
aren't any ;) and thus the race condition on exit reported in #20
Closes #20
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Diffstat (limited to 'llmnr.h')
-rw-r--r-- | llmnr.h | 8 |
1 files changed, 3 insertions, 5 deletions
@@ -1,5 +1,5 @@ /* - * Copyright (C) 2015-2016 Tobias Klauser <tklauser@distanz.ch> + * Copyright (C) 2015-2017 Tobias Klauser <tklauser@distanz.ch> * * This file is part of llmnrd. * @@ -20,10 +20,8 @@ #define LLMNR_H #include <stdbool.h> -#include <stdint.h> -int llmnr_init(const char *hostname, uint16_t port, bool ipv6, const char *iface); -int llmnr_run(void); -void llmnr_stop(void); +void llmnr_init(const char *hostname, bool ipv6); +void llmnr_recv(int sock); #endif /* LLMNR_H */ |