Handle listening on duplicate addresses

Save listening address into listener. Use it to find existing listeners
before creating new one. If it exist, increase just used counter.
Release only listeners not already used.

Duplicates family in listener.
This commit is contained in:
Petr Menšík
2019-07-15 17:13:12 +02:00
committed by Simon Kelley
parent 60a3ae19c5
commit 49bdf1ead9
2 changed files with 93 additions and 35 deletions

View File

@@ -572,7 +572,8 @@ struct irec {
};
struct listener {
int fd, tcpfd, tftpfd, family;
int fd, tcpfd, tftpfd, family, used;
union mysockaddr addr;
struct irec *iface; /* only sometimes valid for non-wildcard */
struct listener *next;
};