Commit b3ca9583 authored by Cunyin Chang's avatar Cunyin Chang Committed by Daniel Verkamp
Browse files

nvmf: Make the function spdk_nvmf_rdma_acceptor_init() reentrant.



Change-Id: Ie715affe7e451fc517c5f57f1597d0bc70f69947
Signed-off-by: default avatarCunyin Chang <cunyin.chang@intel.com>
parent 4c0aab3f
Loading
Loading
Loading
Loading
+15 −11
Original line number Diff line number Diff line
@@ -981,7 +981,7 @@ spdk_nvmf_rdma_acceptor_init(void)
	if (g_rdma.num_devices_found == 0) {
		return 0;
	}

	if (g_rdma.acceptor_event_channel == NULL) {
		/* create an event channel with rdmacm to receive
		   connection oriented requests and notifications */
		g_rdma.acceptor_event_channel = rdma_create_event_channel();
@@ -994,9 +994,13 @@ spdk_nvmf_rdma_acceptor_init(void)
			SPDK_ERRLOG("fcntl to set fd to non-blocking failed\n");
			goto create_id_error;
		}
	}

	pthread_mutex_lock(&g_rdma.lock);
	TAILQ_FOREACH_SAFE(listen_addr, &g_rdma.listen_addrs, link, tmp) {
		if (listen_addr->id) {
			continue;
		}
		memset(&addr, 0, sizeof(addr));
		addr.sin_family = AF_INET;
		addr.sin_addr.s_addr = inet_addr(listen_addr->traddr);