if(c->tcplen > *len)
break;
+ mutex_lock(&mutex);
receive_tcppacket(c, reqbuf, c->tcplen);
+ mutex_unlock(&mutex);
memmove(reqbuf, reqbuf, *len - c->tcplen);
*len -= c->tcplen;
else
*end++ = 0;
- if(!receive_request(c, reqbuf))
+ mutex_lock(&mutex);
+ bool success = receive_request(c, reqbuf);
+ mutex_unlock(&mutex);
+
+ if(!success)
return false;
memmove(reqbuf, end, *len - (end - reqbuf));