mirror of
https://github.com/adulau/aha.git
synced 2025-01-01 13:46:24 +00:00
c59dbcadd5
The previous console cleanup patch switched generic_read and generic_write from calling os_{read,write}_file to calling read and write directly. Because the calling convention is different, they now need to get any error from errno rather than the return value. I did this for generic_read, but forgot about generic_write. While chasing some output corruption, I noticed that line_write was unnecessarily calling flush_buffer, and deleted it. I don't understand why, but the corruption disappeared. This is unneeded because there already is a perfectly good mechanism for finding out when the host output device has some room to write data - there is an interrupt that comes in when writes can happen again. line_write calling flush_buffer seemed to just be an attempt to opportunistically get some data out to the host. I also made write_chan short-circuit calling into the host-level code for zero-length writes. Calling libc write with a length of zero conflated write not being able to write anything with asking it not to write anything. Better to just cut it off as soon as possible. Signed-off-by: Jeff Dike <jdike@linux.intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
||
---|---|---|
.. | ||
chan_kern.c | ||
chan_user.c | ||
cow.h | ||
cow_sys.h | ||
cow_user.c | ||
daemon.h | ||
daemon_kern.c | ||
daemon_user.c | ||
fd.c | ||
harddog_kern.c | ||
harddog_user.c | ||
hostaudio_kern.c | ||
line.c | ||
Makefile | ||
mcast.h | ||
mcast_kern.c | ||
mcast_user.c | ||
mconsole_kern.c | ||
mconsole_user.c | ||
mmapper_kern.c | ||
net_kern.c | ||
net_user.c | ||
null.c | ||
pcap_kern.c | ||
pcap_user.c | ||
pcap_user.h | ||
port.h | ||
port_kern.c | ||
port_user.c | ||
pty.c | ||
random.c | ||
slip.h | ||
slip_common.c | ||
slip_common.h | ||
slip_kern.c | ||
slip_user.c | ||
slirp.h | ||
slirp_kern.c | ||
slirp_user.c | ||
ssl.c | ||
ssl.h | ||
stderr_console.c | ||
stdio_console.c | ||
stdio_console.h | ||
tty.c | ||
ubd_kern.c | ||
ubd_user.c | ||
xterm.c | ||
xterm.h | ||
xterm_kern.c |