summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/miscfuncs.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/miscfuncs.cc')
-rw-r--r--winsup/cygwin/miscfuncs.cc14
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;
+}