Cygwin: FIFO: improve raw_write
Don't set the write end of the pipe to non-blocking mode if the FIFO is opened in blocking mode. In fhandler_fifo::raw_write in blocking mode, wait for the write to complete rather than returning -1 with EAGAIN. If the amount to write is large, write in smaller chunks (of size determined by a new data member max_atomic_write), as in fhandler_base_overlapped. For convenience, add two new NTSTATUS codes, STATUS_THREAD_SIGNALED and STATUS_THREAD_CANCELED, to ntdll.h.
This commit is contained in:
		
				
					committed by
					
						 Corinna Vinschen
						Corinna Vinschen
					
				
			
			
				
	
			
			
			
						parent
						
							a7d08b3ecd
						
					
				
				
					commit
					bb46627871
				
			| @@ -15,7 +15,9 @@ | ||||
| extern GUID __cygwin_socket_guid; | ||||
| #define CYGWIN_SOCKET_GUID (&__cygwin_socket_guid) | ||||
|  | ||||
| /* custom status code: */ | ||||
| /* Custom Cygwin-only status codes. */ | ||||
| #define STATUS_THREAD_SIGNALED	((NTSTATUS)0xe0000001) | ||||
| #define STATUS_THREAD_CANCELED	((NTSTATUS)0xe0000002) | ||||
| #define STATUS_ILLEGAL_DLL_PSEUDO_RELOCATION ((NTSTATUS) 0xe0000269) | ||||
|  | ||||
| /* Simplify checking for a transactional error code. */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user