diff options
author | irungentoo <irungentoo@gmail.com> | 2014-12-03 13:58:50 -0500 |
---|---|---|
committer | irungentoo <irungentoo@gmail.com> | 2014-12-03 13:58:50 -0500 |
commit | d8a8e8b982ca5e6a8fef5474b26af9b3c8b77f54 (patch) | |
tree | d669b544cb51c9e992ed7f5699e70493eaaeaba1 /toxcore | |
parent | be9c6f88d3c3a204958a2e3d3817850c215a8e06 (diff) |
Fixed possible threading issues.
Diffstat (limited to 'toxcore')
-rw-r--r-- | toxcore/net_crypto.c | 9 |
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); |