* winsup.h (flush_file_buffers): Declare new function.

(FLushFileBuffers): New define.
	* miscfuncs.cc (flush_file_buffers): Define new function.
This commit is contained in:
Corinna Vinschen 2005-12-20 20:19:55 +00:00
parent 7c578a4fa0
commit 56c07aa2ce
3 changed files with 19 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2005-12-20 Corinna Vinschen <corinna@vinschen.de>
* winsup.h (flush_file_buffers): Declare new function.
(FLushFileBuffers): New define.
* miscfuncs.cc (flush_file_buffers): Define new function.
2005-12-20 Christopher Faylor <cgf@timesys.com>
* fhandler.h (fhandler_termios::fixup_after_exec): Make non-inlined.

View File

@ -361,3 +361,14 @@ create_pipe (PHANDLE hr,PHANDLE hw, LPSECURITY_ATTRIBUTES sa, DWORD n)
break;
return false;
}
#undef FlushFileBuffers
bool
flush_file_buffers (HANDLE h)
{
DWORD ftype = GetFileType (h);
/* Per MSDN, FlushFileBuffers on named pipes might block. This is the last
we want it to do, especially when printing debug output as when calling
system_printf. */
return (ftype != FILE_TYPE_PIPE) ? FlushFileBuffers (h) : true;
}

View File

@ -309,6 +309,8 @@ DWORD nice_to_winprio (int &) __attribute__ ((regparm (1)));
bool __stdcall create_pipe (PHANDLE hr, PHANDLE, LPSECURITY_ATTRIBUTES, DWORD)
__attribute__ ((regparm (3)));
#define CreatePipe create_pipe
bool __stdcall flush_file_buffers (HANDLE h) __attribute__ ((regparm (1)));
#define FlushFileBuffers flush_file_buffers
/**************************** Exports ******************************/