|  | @@ -488,6 +488,14 @@ by the master thread. `process_new_connection()` actually processes the
 | 
											
												
													
														|  |  connection, i.e. reads the request, parses it, and performs appropriate action
 |  |  connection, i.e. reads the request, parses it, and performs appropriate action
 | 
											
												
													
														|  |  depending on a parsed request.
 |  |  depending on a parsed request.
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +Master thread uses `poll()` and `accept()` to accept new connections on
 | 
											
												
													
														|  | 
 |  | +listening sockets. `poll()` is used to avoid `FD_SETSIZE` limitation of
 | 
											
												
													
														|  | 
 |  | +`select()`. Since there are only a few listening sockets, there is no reason
 | 
											
												
													
														|  | 
 |  | +to use hi-performance alternatives like `epoll()` or `kqueue()`. Worker
 | 
											
												
													
														|  | 
 |  | +threads use blocking IO on accepted sockets for reading and writing data.
 | 
											
												
													
														|  | 
 |  | +All accepted sockets have `SO_RCVTIMEO` and `SO_SNDTIMEO` socket options set
 | 
											
												
													
														|  | 
 |  | +(controlled by `request_timeout_ms` mongoose option, 30 seconds default) which
 | 
											
												
													
														|  | 
 |  | +specify read/write timeout on client connection.
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  # Other Resources
 |  |  # Other Resources
 | 
											
												
													
														|  |  - Presentation made by Arnout Vandecappelle at FOSDEM 2011 on 2011-02-06
 |  |  - Presentation made by Arnout Vandecappelle at FOSDEM 2011 on 2011-02-06
 |