drop DIR pointers again

This commit is contained in:
Jeremy Soller
2018-12-02 21:05:37 -07:00
parent de429a8df6
commit fc9e3923f6
+4 -12
View File
@@ -57,20 +57,12 @@ pub unsafe extern "C" fn opendir(path: *const c_char) -> *mut DIR {
#[no_mangle]
pub unsafe extern "C" fn closedir(dir: *mut DIR) -> c_int {
let mut dir = Box::from_raw(dir);
let ret = {
let mut dir = Box::from_raw(dir);
let ret = Sys::close(*dir.file);
let ret = Sys::close(*dir.file);
// Reference files aren't closed when dropped
dir.file.reference = true;
//TODO: find out why dropping dir can crash
mem::forget(dir);
ret
};
// Reference files aren't closed when dropped
dir.file.reference = true;
ret
}