#define DEFAULT_LOG_LEVEL L_NOTICE
-enum {
- L_CRIT,
- L_WARNING,
- L_NOTICE,
- L_INFO,
- L_DEBUG
-};
-
static int log_level = DEFAULT_LOG_LEVEL;
static const int log_class[] = {
[L_CRIT] = LOG_CRIT,
retry:
read_len = len = read(fd->fd, buf, maxlen);
- if (len <= 0) {
- if (errno == EINTR)
+ if (len < 0) {
+ if (errno == EAGAIN)
goto retry;
- return;
- }
+ goto out;
+ } else if (len == 0)
+ goto out;
+
proc->log_buf_ofs += len;
cur = buf;
if (read_len == maxlen)
goto retry;
+
+out:
+ if (fd->eof)
+ uloop_fd_delete(fd);
}
static void