Fix poll when given negative fds
This commit is contained in:
		
							parent
							
								
									6dbdbfdcf0
								
							
						
					
					
						commit
						1eefa0a123
					
				| @ -132,6 +132,13 @@ pub fn do_poll(pollfds: &mut [libc::pollfd], timeout: c_int) -> Result<usize> { | |||||||
|     let current_ref = process::get_current(); |     let current_ref = process::get_current(); | ||||||
|     let mut proc = current_ref.lock().unwrap(); |     let mut proc = current_ref.lock().unwrap(); | ||||||
|     for (i, pollfd) in pollfds.iter_mut().enumerate() { |     for (i, pollfd) in pollfds.iter_mut().enumerate() { | ||||||
|  |         // Poll should just ignore negative fds
 | ||||||
|  |         if pollfd.fd < 0 { | ||||||
|  |             u_pollfds[i].fd = -1; | ||||||
|  |             u_pollfds[i].revents = 0; | ||||||
|  |             continue; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|         let file_ref = proc |         let file_ref = proc | ||||||
|             .get_files() |             .get_files() | ||||||
|             .lock() |             .lock() | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user