summaryrefslogtreecommitdiffstats
path: root/src/server/net.c
diff options
context:
space:
mode:
authorSimon Rettberg2019-08-07 14:39:44 +0200
committerSimon Rettberg2019-08-07 14:39:44 +0200
commit4e2e258dba3c9268e8d4fd061cbb9f291017ed2f (patch)
tree4f5e07a350a47802ef012bd0ef6af32a7e700c96 /src/server/net.c
parent[SERVER] Fix race condition and invalid lock order (diff)
downloaddnbd3-4e2e258dba3c9268e8d4fd061cbb9f291017ed2f.tar.gz
dnbd3-4e2e258dba3c9268e8d4fd061cbb9f291017ed2f.tar.xz
dnbd3-4e2e258dba3c9268e8d4fd061cbb9f291017ed2f.zip
[SERVER] Use more _Atomic
Diffstat (limited to 'src/server/net.c')
-rw-r--r--src/server/net.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/server/net.c b/src/server/net.c
index c1fa6fa..92728c0 100644
--- a/src/server/net.c
+++ b/src/server/net.c
@@ -255,9 +255,8 @@ void* net_handleNewConnection(void *clientPtr)
// No BGR mismatch, but don't lookup if image is unknown locally
image = image_get( image_name, rid, true );
}
- mutex_lock( &client->lock );
client->image = image;
- mutex_unlock( &client->lock );
+ atomic_thread_fence( memory_order_release );
if ( image == NULL ) {
//logadd( LOG_DEBUG1, "Client requested non-existent image '%s' (rid:%d), rejected\n", image_name, (int)rid );
} else if ( !image->working ) {