> I found the following assert at io.c:281 was triggering:

> assert(*request->u.l.buf_location == NULL);

The assertion is guarded by

  if(request->buf == NULL)

Now look at what happens in do_stream_buf (io.c line 111):

    return schedule_stream(operation, fd, offset,
                           NULL, 0, *buf_location, len, 
                           NULL, 0, NULL, 0, buf_location,
                           handler, data);

Here, connection->buf is set to *buf_location.  If the assertion
triggers, then *buf_location was null at the time of the call, but
became non-null in the meantime.

Race condition somewhere, kill me if I know where.

                                        Juliusz

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Polipo-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/polipo-users

Reply via email to