diff options
Diffstat (limited to 'winsup/cygwin/miscfuncs.cc')
-rw-r--r-- | winsup/cygwin/miscfuncs.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/winsup/cygwin/miscfuncs.cc b/winsup/cygwin/miscfuncs.cc index 18e8bb103..26686bd2b 100644 --- a/winsup/cygwin/miscfuncs.cc +++ b/winsup/cygwin/miscfuncs.cc @@ -347,3 +347,17 @@ nice_to_winprio (int &nice) prio = NORMAL_PRIORITY_CLASS; return prio; } + +#undef CreatePipe +bool +create_pipe (PHANDLE hr,PHANDLE hw, LPSECURITY_ATTRIBUTES sa, DWORD n) +{ + for (int i = 0; i < 10; i++) + if (CreatePipe (hr, hw, sa, n)) + return true; + else if (GetLastError () == ERROR_PIPE_BUSY && i < 9) + Sleep (10); + else + break; + return false; +} |