diff options
Diffstat (limited to 'devel')
-rw-r--r-- | devel/ddd/files/patch-LiterateA.C | 32 | ||||
-rw-r--r-- | devel/ddd/files/patch-TTYAgent.C | 22 |
2 files changed, 54 insertions, 0 deletions
diff --git a/devel/ddd/files/patch-LiterateA.C b/devel/ddd/files/patch-LiterateA.C new file mode 100644 index 0000000..cd25c91 --- /dev/null +++ b/devel/ddd/files/patch-LiterateA.C @@ -0,0 +1,32 @@ +--- ddd/LiterateA.C.orig Thu Aug 19 04:27:40 1999 ++++ ddd/LiterateA.C Sun Aug 27 02:37:48 2000 +@@ -220,8 +220,12 @@ + int flags = fcntl(fileno(fp), F_GETFL, 0); + if (flags == -1) + _raiseIOWarning("cannot get file descriptor status flags"); +- if (fcntl(fileno(fp), F_SETFL, flags | O_NONBLOCK) == -1) +- _raiseIOWarning("cannot set file to non-blocking mode"); ++ if (fcntl(fileno(fp), F_SETFL, flags | O_NONBLOCK) == -1) { ++#if defined(__FreeBSD__) ++ if(errno != EAGAIN) ++#endif ++ _raiseIOWarning("cannot set file to non-blocking mode"); ++ } + #endif + + // Read stuff +@@ -255,8 +259,12 @@ + + #if HAVE_FCNTL && defined(F_SETFL) + // Reset file state +- if (fcntl(fileno(fp), F_SETFL, flags) == -1) +- _raiseIOWarning("cannot restore file mode"); ++ if (fcntl(fileno(fp), F_SETFL, flags) == -1) { ++#if defined(__FreeBSD__) ++ if(errno != EAGAIN) ++#endif ++ _raiseIOWarning("cannot restore file mode"); ++ } + #endif + + return nitems; diff --git a/devel/ddd/files/patch-TTYAgent.C b/devel/ddd/files/patch-TTYAgent.C new file mode 100644 index 0000000..2bc5c90 --- /dev/null +++ b/devel/ddd/files/patch-TTYAgent.C @@ -0,0 +1,22 @@ +--- ddd/TTYAgent.C.orig Thu Aug 19 04:27:58 1999 ++++ ddd/TTYAgent.C Sun Aug 27 02:37:48 2000 +@@ -697,8 +697,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 + |