bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: syslog (was: hangs)


From: Samuel Thibault
Subject: Re: syslog (was: hangs)
Date: Thu, 24 Jul 2008 03:48:47 +0100
User-agent: Mutt/1.5.12-2006-07-14

Thomas Schwinge, le Tue 22 Jul 2008 16:54:47 +0200, a écrit :
> On Tue, Jul 22, 2008 at 02:33:34PM +0100, Samuel Thibault wrote:
> > It looks like the hangs we're encountering on flubber/gnubber and which
> > I'm having on the buildd are due to syslog() blocking somewhere.
> 
> Interesting...

I got the hang again, this time with a debugging-enabled compilation:

#0  0x01091381 in _hurd_intr_rpc_msg_in_trap () from /lib/libc.so.0.3
#1  0x011f8276 in io_read () from /lib/libhurduser.so.0.3
#2  0x0109508e in readfd.8793 () from /lib/libc.so.0.3
#3  0x0109c177 in _hurd_ctty_input () from /lib/libc.so.0.3
#4  0x010953d4 in _hurd_fd_read () from /lib/libc.so.0.3
#5  0x0114419d in read () from /lib/libc.so.0.3
#6  0x0804a29e in main (argc=0, argv=0x1021e94) at syslogd.c:664


      nready = poll (fdarray, nfds, -1);
...
      for (i = 0; i < nfds; i++)
        if (fdarray[i].revents & (POLLIN | POLLPRI))
          {
            int result;
            size_t len;
            if (fdarray[i].fd == -1)
                continue;
            else if (fdarray[i].fd == fklog)
              {
664:            result = read (fdarray[i].fd, &kline[kline_len],
                               sizeof (kline) - kline_len - 1);


So it looks like poll spuriously returned POLLIN | POLLPRI.

Samuel




reply via email to

[Prev in Thread] Current Thread [Next in Thread]