From: Ian Jackson Date: Fri, 26 Sep 2014 18:26:49 +0000 (+0100) Subject: udp: Break out udp_destroy_socket X-Git-Tag: base.ipv6-polypath-fixes-2.v1~57 X-Git-Url: https://git.distorted.org.uk/~mdw/secnet/commitdiff_plain/5f8b7a8ea0f928a60a67068408fd7a798024a877 udp: Break out udp_destroy_socket polypath is are going to want this. No functional change. Signed-off-by: Ian Jackson --- diff --git a/comm-common.h b/comm-common.h index ed6a86b..baeb24e 100644 --- a/comm-common.h +++ b/comm-common.h @@ -87,6 +87,9 @@ bool_t udp_make_socket(struct udpcommon *uc, struct udpsock *us, int failmsgclass); /* Fills in us->fd. Logs any errors with lg_[v]perror. */ +void udp_destroy_socket(struct udpcommon *uc, struct udpsock *us); + /* Idempotent. No errors are possible. */ + void udp_socks_register(struct udpcommon *uc, struct udpsocks *socks); void udp_socks_deregister(struct udpcommon *uc, struct udpsocks *socks); diff --git a/udp.c b/udp.c index 838fd51..30bf73f 100644 --- a/udp.c +++ b/udp.c @@ -183,6 +183,14 @@ static bool_t udp_sendmsg(void *commst, struct buffer_if *buf, return True; } +void udp_destroy_socket(struct udpcommon *uc, struct udpsock *us) +{ + if (us->fd>=0) { + close(us->fd); + us->fd=-1; + } +} + bool_t udp_make_socket(struct udpcommon *uc, struct udpsock *us, int failmsgclass) { @@ -276,10 +284,7 @@ bool_t udp_make_socket(struct udpcommon *uc, struct udpsock *us, return True; failed: - if (us->fd>=0) { - close(us->fd); - us->fd=-1; - } + udp_destroy_socket(uc,us); return False; #undef FAIL