| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
We keep stdin fully buffered, but switch the descriptor to
nonblocking. We then try to accumulate a line of input
above the poll() call. We only poll stdin's descriptor if
we hit EOF while trying to read a line, and errno indicates
EAGAIN or EWOULDBLOCK. In cases when we know that there is
more data in stdin, we poll with an interval of 0, because
only the TTY is being polled. When we know that there is
no more data in stdin (actual EOF), we now poll with an
infinite interval.
|
|
|
|
| |
Reported by konsolebox at gmail com.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We are wrongly combining poll operations with buffered
reading from stdin. This means we call poll to wait for
input while ignoring data already buffered in the stdio
stream. When this happens at the end of a pipe, we
ignore the last bit forever.
The workaround is to switch stdin to unbuffered; but this
means that it issues one byte read operations (inefficient)
and risks blocking on partial lines.
Reported by konsolebox at gmail com.
|
| |
|
|
|
|
| |
Prototype: does substring searching only: no regex.
|
| |
|
|
|
|
|
|
|
| |
Without this, we cannot move horizontally while suspended, because
the display refuses to refresh. Suspend mode means that we still
refresh the display, but using the current snapshot data, rather
than replacing that snapshot from the FIFO.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|