[icecast-dev] Second patch again CVS version
Ricardo Galli
gallir at uib.es
Fri Mar 22 14:21:05 PST 2002
On 22/03/02 22:24, Jack Moffitt shaped the electrons to say:
> > It the first problem I found when I started to use the server and the
> > reason I began to modify it. The patch is sock.diff
>
> I still don't understand the problem, nor have I reproduced it.
>
> We shouldn't need to check the status of the socket before we call
> send(). If there were any send errors, we would have seen them after
> the last call to send(). Even if we didn't, it shouldn't affect future
> calls (at worst, they will fail again).
> I think the behavior you were seeing was cuased by the next bug:
> > > > - Solved a bug in source.c, when checking for recoverable error. It
> > > > has to be done _only_ when result < 0.
>
> I did look over source.c and you were correct. I have fixed this in
> CVS.
>
> I'm not sure why I didn't see this before, or why it didn't cause more
> problems, but then again, apparently it did for you.
I was very surprised as well, I was getting very frequent EPIPE errors when
testing connection from my home to my server in the university. My "testing
environment" has changed radically, at that time I had an ISDN connection,
now I've lost it (got DSL), neverthelles I will try to recreate it.
____But___, there was a serious bug which could be the "real" one and was
masked by the "poll()" for a while. I've described it in a previous mail and
sent the one-liner patch:
------
The problem resided on the conditional variable being signaled twice (or
more) after new connections, but the server thread (connection.c) only get
the first of the several new connections.
------
This bug is easier to catch, just open a couple of "simultaneous" wget
connections from a client in the same LAN. Something like:
for i in `seq 100`
do
wget http://... &
wget http://... &
wget http://...
done
<p>
--
ricardo
"I just stopped using Windows and now you tell me to use Mirrors?"
- said Aunt Tillie, just before downloading 2.5.3 kernel.
--- >8 ----
List archives: http://www.xiph.org/archives/
icecast project homepage: http://www.icecast.org/
To unsubscribe from this list, send a message to 'icecast-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body. No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.
More information about the Icecast-dev
mailing list