mutex: add __fio_mutex_remove()
[fio.git] / filelock.c
index b252a975aebabcd254fe828c503457514022e066..18e8875ed94211d88c93615cd09b373695af2704 100644 (file)
@@ -144,10 +144,11 @@ void fio_unlock_file(const char *fname)
 
        ff = fio_hash_find(hash);
        if (ff) {
-               ff->references--;
+               int refs = --ff->references;
                fio_mutex_up(&ff->lock);
-               if (!ff->references) {
+               if (!refs) {
                        flist_del(&ff->list);
+                       __fio_mutex_remove(&ff->lock);
                        sfree(ff);
                }
        } else