summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorirungentoo <irungentoo@gmail.com>2014-12-03 13:58:50 -0500
committerirungentoo <irungentoo@gmail.com>2014-12-03 13:58:50 -0500
commitd8a8e8b982ca5e6a8fef5474b26af9b3c8b77f54 (patch)
treed669b544cb51c9e992ed7f5699e70493eaaeaba1
parentbe9c6f88d3c3a204958a2e3d3817850c215a8e06 (diff)
Fixed possible threading issues.
-rw-r--r--toxcore/net_crypto.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/toxcore/net_crypto.c b/toxcore/net_crypto.c
index 87541d9f..7ad3b413 100644
--- a/toxcore/net_crypto.c
+++ b/toxcore/net_crypto.c
@@ -830,7 +830,9 @@ static int64_t send_lossless_packet(Net_Crypto *c, int crypt_connection_id, cons
830 dt.time = 0; 830 dt.time = 0;
831 dt.length = length; 831 dt.length = length;
832 memcpy(dt.data, data, length); 832 memcpy(dt.data, data, length);
833 pthread_mutex_lock(&conn->mutex);
833 int64_t packet_num = add_data_end_of_buffer(&conn->send_array, &dt); 834 int64_t packet_num = add_data_end_of_buffer(&conn->send_array, &dt);
835 pthread_mutex_unlock(&conn->mutex);
834 836
835 if (packet_num == -1) 837 if (packet_num == -1)
836 return -1; 838 return -1;
@@ -2593,8 +2595,11 @@ int send_lossy_cryptpacket(Net_Crypto *c, int crypt_connection_id, const uint8_t
2593 int ret = -1; 2595 int ret = -1;
2594 2596
2595 if (conn) { 2597 if (conn) {
2596 ret = send_data_packet_helper(c, crypt_connection_id, conn->recv_array.buffer_start, conn->send_array.buffer_end, data, 2598 pthread_mutex_lock(&conn->mutex);
2597 length); 2599 uint32_t buffer_start = conn->recv_array.buffer_start;
2600 uint32_t buffer_end = conn->send_array.buffer_end;
2601 pthread_mutex_unlock(&conn->mutex);
2602 ret = send_data_packet_helper(c, crypt_connection_id, buffer_start, buffer_end, data, length);
2598 } 2603 }
2599 2604
2600 pthread_mutex_lock(&c->connections_mutex); 2605 pthread_mutex_lock(&c->connections_mutex);