042eb6
--- a/squashfs-tools/mksquashfs.c
042eb6
+++ b/squashfs-tools/mksquashfs.c
042eb6
@@ -2447,8 +2447,8 @@ void *frag_deflator(void *arg)
042eb6
 			write_buffer->block = bytes;
042eb6
 			bytes += compressed_size;
042eb6
 			fragments_outstanding --;
042eb6
-			pthread_mutex_unlock(&fragment_mutex);
042eb6
 			queue_put(to_writer, write_buffer);
042eb6
+			pthread_mutex_unlock(&fragment_mutex);
042eb6
 			TRACE("Writing fragment %lld, uncompressed size %d, "
042eb6
 				"compressed size %d\n", file_buffer->block,
042eb6
 				file_buffer->size, compressed_size);
042eb6