forked from mirror/async-std
		
	Merge #165
165: Fix a bug in conversion of File into raw handle r=stjepang a=stjepang Same bugfix as #148, but applied to `async_std::fs::File`. Co-authored-by: Stjepan Glavina <stjepang@gmail.com>
This commit is contained in:
		
						commit
						b849669998
					
				
					 1 changed files with 10 additions and 2 deletions
				
			
		|  | @ -419,7 +419,11 @@ cfg_if! { | |||
| 
 | ||||
|         impl IntoRawFd for File { | ||||
|             fn into_raw_fd(self) -> RawFd { | ||||
|                 self.file.as_raw_fd() | ||||
|                 let file = self.file.clone(); | ||||
|                 drop(self); | ||||
|                 Arc::try_unwrap(file) | ||||
|                     .expect("cannot acquire ownership of file handle after drop") | ||||
|                     .into_raw_fd() | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | @ -442,7 +446,11 @@ cfg_if! { | |||
| 
 | ||||
|         impl IntoRawHandle for File { | ||||
|             fn into_raw_handle(self) -> RawHandle { | ||||
|                 self.file.as_raw_handle() | ||||
|                 let file = self.file.clone(); | ||||
|                 drop(self); | ||||
|                 Arc::try_unwrap(file) | ||||
|                     .expect("cannot acquire ownership of file's handle after drop") | ||||
|                     .into_raw_handle() | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue