From 656c20fd4ae599d6c2e9178ac6f29437bf7dde9b Mon Sep 17 00:00:00 2001 From: zhangyuan7 Date: Tue, 19 Mar 2019 09:52:40 -0600 Subject: [PATCH] net/local/local_connect.c: Initialize lc_result before giving lc_waitsem --- net/local/local_connect.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/net/local/local_connect.c b/net/local/local_connect.c index 484543e64b..b254dae62a 100644 --- a/net/local/local_connect.c +++ b/net/local/local_connect.c @@ -184,6 +184,10 @@ static int inline local_stream_connect(FAR struct local_conn_s *client, DEBUGASSERT(client->lc_outfile.f_inode != NULL); + /* Set the busy "result" before giving the semaphore. */ + + client->u.client.lc_result = -EBUSY; + /* Add ourself to the list of waiting connections and notify the server. */ dq_addlast(&client->lc_node, &server->u.server.lc_waiters); @@ -199,7 +203,6 @@ static int inline local_stream_connect(FAR struct local_conn_s *client, /* Wait for the server to accept the connections */ - client->u.client.lc_result = -EBUSY; do { _local_semtake(&client->lc_waitsem);