Hi,

On Mon, 23 May 2005, Wijnand Wiersma wrote:

> It just happened again, so I was wrong about the nic.
>
> Here is a part of the ktrace of jabberd at a busy moment.
> Not much to see, this scrolls over my screen very fast.
>
>   [...snip...]
>   9519 jabberd  CALL  select(0x1b,0x3c032d10,0x3c032c90,0x3c032c10,0x3c032a58)
>   9519 jabberd  RET   select 0
>   [...snip...]
>   9519 jabberd  CALL  read(0x4,0x3c032d90,0x80)
>   9519 jabberd  RET   read -1 errno 35 Resource temporarily unavailable

that's an easy one: jabberd makes an select call, which returns 0
(timeout) and starts a read on a file descriptor which has probably been
used in the read-fd-set for select. And this read gives error 35 which
is correct as the select has timed out. Details are in man 2 select, man
read and man 2 intro. This is a programming error.

Now the difficult part: jabberd does not make the select call by itself
but uses GNU-pth also called portable-threads. Somewhere inside this
beast there must be the culprit but I don't have the time or patience to
look into this unless I know the version of pth which you have been using.

Regards

Stefan Kell

Reply via email to