diff options
Diffstat (limited to 'devel/ddd/files/patch-ddd::TTYAgent.C')
-rw-r--r-- | devel/ddd/files/patch-ddd::TTYAgent.C | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/devel/ddd/files/patch-ddd::TTYAgent.C b/devel/ddd/files/patch-ddd::TTYAgent.C new file mode 100644 index 000000000000..59b6cd09fee3 --- /dev/null +++ b/devel/ddd/files/patch-ddd::TTYAgent.C @@ -0,0 +1,22 @@ +--- ddd/TTYAgent.C.orig Sat May 24 11:27:05 2003 ++++ ddd/TTYAgent.C Fri Feb 27 13:33:02 2004 +@@ -719,8 +719,19 @@ + } + else + { ++#if !defined(__FreeBSD__) + if (fcntl(master, F_SETFL, flags | O_NONBLOCK) == -1) + _raiseIOWarning("cannot set file to non-blocking mode"); ++#else ++ do { ++ if(fcntl(master, F_SETFL, flags | O_NONBLOCK) != -1) ++ break; ++ else if(errno == EAGAIN) ++ sleep(1); ++ else ++ _raiseIOWarning("cannot set file to non-blocking mode"); ++ } while(errno == EAGAIN); ++#endif + } + #endif + |