sock: Null out sock on spdk_sock_close in all success cases
Even if the operation is deferred, null it out if it reported success. Signed-off-by: Ben Walker <benjamin.walker@intel.com> Change-Id: I3cc9eaa88bdd7a2e7d13790782f4a9b0966e5585 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6892 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
This commit is contained in:
parent
86ef8f21c9
commit
823bb32026
@ -358,7 +358,6 @@ int
|
||||
spdk_sock_close(struct spdk_sock **_sock)
|
||||
{
|
||||
struct spdk_sock *sock = *_sock;
|
||||
int rc;
|
||||
|
||||
if (sock == NULL) {
|
||||
errno = EBADF;
|
||||
@ -371,6 +370,9 @@ spdk_sock_close(struct spdk_sock **_sock)
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Beyond this point the socket is considered closed. */
|
||||
*_sock = NULL;
|
||||
|
||||
sock->flags.closed = true;
|
||||
|
||||
if (sock->cb_cnt > 0) {
|
||||
@ -380,12 +382,7 @@ spdk_sock_close(struct spdk_sock **_sock)
|
||||
|
||||
spdk_sock_abort_requests(sock);
|
||||
|
||||
rc = sock->net_impl->close(sock);
|
||||
if (rc == 0) {
|
||||
*_sock = NULL;
|
||||
}
|
||||
|
||||
return rc;
|
||||
return sock->net_impl->close(sock);
|
||||
}
|
||||
|
||||
ssize_t
|
||||
|
Loading…
Reference in New Issue
Block a user