* The mutex was obviously never initialized, and therefore mutex_unlock() panicked
here when trying to build Haiku. * Also probably fixed a memory hole, at least how BFS is using delete_driver_settings(); it might be a general problem of the implementation with regards to parse_driver_settings_string(), though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21240 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -617,15 +617,15 @@ fssh_unload_driver_settings(void *handle)
|
|||||||
if (!check_handle(handle))
|
if (!check_handle(handle))
|
||||||
return FSSH_B_BAD_VALUE;
|
return FSSH_B_BAD_VALUE;
|
||||||
|
|
||||||
|
#if 0
|
||||||
mutex_lock(&sLock);
|
mutex_lock(&sLock);
|
||||||
// ToDo: as soon as "/boot" is accessible, we should start throwing away settings
|
// ToDo: as soon as "/boot" is accessible, we should start throwing away settings
|
||||||
#if 0
|
|
||||||
if (--handle->ref_count == 0) {
|
if (--handle->ref_count == 0) {
|
||||||
list_remove_link(&handle->link);
|
list_remove_link(&handle->link);
|
||||||
} else
|
} else
|
||||||
#endif
|
|
||||||
handle = NULL;
|
handle = NULL;
|
||||||
mutex_unlock(&sLock);
|
mutex_unlock(&sLock);
|
||||||
|
#endif
|
||||||
|
|
||||||
if (handle != NULL)
|
if (handle != NULL)
|
||||||
free_settings((settings_handle*)handle);
|
free_settings((settings_handle*)handle);
|
||||||
|
|||||||
Reference in New Issue
Block a user