diff -Naur libdvdnav.orig/src/dvdnav.c libdvdnav/src/dvdnav.c --- libdvdnav.orig/src/dvdnav.c 2009-03-13 18:28:22.000000000 -0700 +++ libdvdnav/src/dvdnav.c 2009-04-24 19:52:52.000000000 -0700 @@ -178,9 +178,9 @@ #ifdef LOG_DEBUG fprintf(MSG_OUT, "libdvdnav: clearing dvdnav\n"); #endif + pthread_mutex_unlock(&this->vm_lock); result = dvdnav_clear(this); - pthread_mutex_unlock(&this->vm_lock); return result; }