Commit 823bb320 authored by Ben Walker's avatar Ben Walker Committed by Tomasz Zawadzki
Browse files

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: default avatarBen Walker <benjamin.walker@intel.com>
Change-Id: I3cc9eaa88bdd7a2e7d13790782f4a9b0966e5585
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6892


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: default avatarAleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
parent 86ef8f21
Loading
Loading
Loading
Loading
+4 −7
Original line number Diff line number Diff line
@@ -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