diff options
| author | Gerd Moellmann | 2000-02-15 10:27:48 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 2000-02-15 10:27:48 +0000 |
| commit | aace035ecc3c6a12c3fb14e381adaa07e51d2e25 (patch) | |
| tree | f3e45c359b3ff361fe87007f5d01a8d2a306e0b4 /src/s | |
| parent | 3433b6bdab2a6a42228d3515b57e41b16e4c3cb3 (diff) | |
| download | emacs-aace035ecc3c6a12c3fb14e381adaa07e51d2e25.tar.gz emacs-aace035ecc3c6a12c3fb14e381adaa07e51d2e25.zip | |
(BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Diffstat (limited to 'src/s')
| -rw-r--r-- | src/s/freebsd.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/s/freebsd.h b/src/s/freebsd.h index 0a344f9753b..59a1e9072e7 100644 --- a/src/s/freebsd.h +++ b/src/s/freebsd.h | |||
| @@ -151,3 +151,19 @@ | |||
| 151 | /usr/local/include or libs in /usr/local/lib by default. */ | 151 | /usr/local/include or libs in /usr/local/lib by default. */ |
| 152 | 152 | ||
| 153 | #define C_SWITCH_SYSTEM -I /usr/X11R6/include -I /usr/local/include -L /usr/local/lib | 153 | #define C_SWITCH_SYSTEM -I /usr/X11R6/include -I /usr/local/include -L /usr/local/lib |
| 154 | |||
| 155 | /* Circumvent a bug in FreeBSD. In the following sequence of | ||
| 156 | writes/reads on a PTY, read(2) returns bogus data: | ||
| 157 | |||
| 158 | write(2) 1022 bytes | ||
| 159 | write(2) 954 bytes, get EAGAIN | ||
| 160 | read(2) 1024 bytes in process_read_output | ||
| 161 | read(2) 11 bytes in process_read_output | ||
| 162 | |||
| 163 | That is, read(2) returns more bytes than have ever been written | ||
| 164 | successfully. The 1033 bytes read are the 1022 bytes written | ||
| 165 | successfully after processing (for example with CRs added if the | ||
| 166 | terminal is set up that way which it is here). The same bytes will | ||
| 167 | be seen again in a later read(2), without the CRs. */ | ||
| 168 | |||
| 169 | #define BROKEN_PTY_READ_AFTER_EAGAIN 1 | ||