summaryrefslogtreecommitdiffstats
path: root/src/peer.c
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2015-01-14 10:03:03 +0100
committerMatthias Schiffer <mschiffer@universe-factory.net>2015-01-14 10:03:03 +0100
commit133cee578e04e561bb17e37393bbf7e427522560 (patch)
tree4f08d1f1405e997e1d40674c1e78d4c9403f7457 /src/peer.c
parent51a1da3272c58e631fc5cecb181327bcceb5f311 (diff)
downloadfastd-133cee578e04e561bb17e37393bbf7e427522560.tar
fastd-133cee578e04e561bb17e37393bbf7e427522560.zip
Reset all connections on SIGUSR2
Diffstat (limited to 'src/peer.c')
-rw-r--r--src/peer.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/peer.c b/src/peer.c
index 7a05dbd..e24b153 100644
--- a/src/peer.c
+++ b/src/peer.c
@@ -970,3 +970,19 @@ void fastd_peer_maintenance(void) {
eth_addr_cleanup();
}
+
+/** Resets all peers */
+void fastd_peer_reset_all(void) {
+ size_t i;
+ for (i = 0; i < VECTOR_LEN(ctx.peers);) {
+ fastd_peer_t *peer = VECTOR_INDEX(ctx.peers, i);
+
+ if (fastd_peer_is_dynamic(peer)) {
+ fastd_peer_delete(peer);
+ }
+ else {
+ fastd_peer_reset(peer);
+ i++;
+ }
+ }
+}