[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
- hangs, Samuel Thibault, 2008/07/22