posix: set fd to -1 after close(fd) in posix_sock_create()
In posix_sock_create(), we loops through all the addresses available. If something is wrong, we should close(fd) and set fd to -1, and try the next address. Only, when one fd satisfies all conditions, we will break the loop with the useful fd. Signed-off-by: Zhiqiang Liu <liuzhiqiang26@huawei.com> Change-Id: Icbfc10246c92b95cacd6eb058e6e46cf8924fc4c Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8310 Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Ziye Yang <ziye.yang@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot
This commit is contained in:
parent
aafc440e9c
commit
b4226d6f99
@ -499,12 +499,14 @@ retry:
|
||||
rc = setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &val, sizeof val);
|
||||
if (rc != 0) {
|
||||
close(fd);
|
||||
fd = -1;
|
||||
/* error */
|
||||
continue;
|
||||
}
|
||||
rc = setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, &val, sizeof val);
|
||||
if (rc != 0) {
|
||||
close(fd);
|
||||
fd = -1;
|
||||
/* error */
|
||||
continue;
|
||||
}
|
||||
@ -514,6 +516,7 @@ retry:
|
||||
rc = setsockopt(fd, SOL_SOCKET, SO_PRIORITY, &opts->priority, sizeof val);
|
||||
if (rc != 0) {
|
||||
close(fd);
|
||||
fd = -1;
|
||||
/* error */
|
||||
continue;
|
||||
}
|
||||
@ -524,6 +527,7 @@ retry:
|
||||
rc = setsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY, &val, sizeof val);
|
||||
if (rc != 0) {
|
||||
close(fd);
|
||||
fd = -1;
|
||||
/* error */
|
||||
continue;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user