vi: don't wait 50 ms before reading ESC sequences

inetd,syslogd: use safe_read instead of open-coded EINTR handling
syslogd: bail out if you see null read from Unix socket
(should never happen, but if it does, spinning forever
and eating 100% CPU is not a good idea)
This commit is contained in:
Denis Vlasenko
2007-10-11 10:10:15 +00:00
parent f9566d8c29
commit 4f95e5aab8
3 changed files with 12 additions and 18 deletions

View File

@@ -527,12 +527,10 @@ static void do_syslogd(void)
for (;;) {
size_t sz;
sz = read(sock_fd, G.recvbuf, MAX_READ - 1);
sz = safe_read(sock_fd, G.recvbuf, MAX_READ - 1);
if (sz <= 0) {
if (sz == 0)
continue; /* EOF from unix socket??? */
if (errno == EINTR) /* alarm may have happened */
continue;
//if (sz == 0)
// continue; /* EOF from unix socket??? */
bb_perror_msg_and_die("read from /dev/log");
}