--- squashfs-tools/mksquashfs.c 2009-04-05 18:22:48.000000000 -0300 +++ squashfs-tools/mksquashfs.c 2010-02-10 17:04:29.303757175 -0300 @@ -1733,9 +1733,7 @@ entry->buffer->block = bytes; bytes += compressed_size; fragments_outstanding --; - pthread_mutex_unlock(&fragment_mutex); queue_put(to_writer, entry->buffer); - pthread_mutex_lock(&fragment_mutex); TRACE("fragment_locked writing fragment %d, compressed size %d" "\n", entry->fragment, compressed_size); free(entry); @@ -2426,8 +2424,8 @@ write_buffer->block = bytes; bytes += compressed_size; fragments_outstanding --; - pthread_mutex_unlock(&fragment_mutex); queue_put(to_writer, write_buffer); + pthread_mutex_unlock(&fragment_mutex); TRACE("Writing fragment %lld, uncompressed size %d, " "compressed size %d\n", file_buffer->block, file_buffer->size, compressed_size);