net/local/local_connect.c: Initialize lc_result before giving lc_waitsem

This commit is contained in:
zhangyuan7 2019-03-19 09:52:40 -06:00 committed by Gregory Nutt
parent a418b63e07
commit 656c20fd4a

View File

@ -184,6 +184,10 @@ static int inline local_stream_connect(FAR struct local_conn_s *client,
DEBUGASSERT(client->lc_outfile.f_inode != NULL); 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. */ /* Add ourself to the list of waiting connections and notify the server. */
dq_addlast(&client->lc_node, &server->u.server.lc_waiters); 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 */ /* Wait for the server to accept the connections */
client->u.client.lc_result = -EBUSY;
do do
{ {
_local_semtake(&client->lc_waitsem); _local_semtake(&client->lc_waitsem);