Re: libwww multithreading once more...

Yes,
I have simulated multithread-safe libwww having mutexes around the top level
lib accesses in a little lib wrapper.
That is simpler and achives (close to) the same behavior.

Olga.

----- Original Message -----
From: "Anton Belov -- Customer Engineering" <antonb@scot.canada.sun.com>
To: <www-lib@w3.org>
Sent: Tuesday, March 27, 2001 10:07 AM
Subject: Re: libwww multithreading once more...


> We have simulated the multithread-safe behaviour, by having only one
thread
> sitting in the event loop, and others coming in and notifying it (through
domain
> socket) that they want to send a request. The event-loop thread would go
and
> pick up the request details and send it out, in a mean while the requester
> thread will sleep (on condition variable) until it's notified by the
event-loop
> thread that it finished processing the request.
>
> This way the access to the library is always within the same one thread,
on the
> other hand an application that uses it thinks that it's doing
mutlithreaded
> access. Of course, performance-wise it makes absolutely no difference,
since the
> access is serialized.
>
> Cheers,
> Anton
>
>
> >Resent-Date: Tue, 27 Mar 2001 10:39:47 -0500 (EST)
> >Resent-Message-Id: <200103271539.KAA04774@www19.w3.org>
> >X-Authentication-Warning: balefire.eai.com: uucp set sender to
<olga@eai.com>
> using -f
> >Really-From: olga@eai.com
> >From: "Olga Antropova" <olga@eai.com>
> >To: "Roland Bickel" <r.bickel@cmg.nl>, <www-lib@w3.org>
> >Date: Tue, 27 Mar 2001 09:40:01 -0600
> >MIME-Version: 1.0
> >Content-Transfer-Encoding: 7bit
> >X-Priority: 3
> >X-MSMail-Priority: Normal
> >X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600
> >Subject: Re: libwww multithreading once more...
> >Resent-From: www-lib@w3.org
> >X-Mailing-List: <www-lib@w3.org> archive/latest/4813
> >X-Loop: www-lib@w3.org
> >Resent-Sender: www-lib-request@w3.org
> >List-Id: <www-lib.w3.org>
> >List-Help: <http://www.w3.org/Mail/>
> >List-Unsubscribe: <mailto:www-lib-request@w3.org?subject=unsubscribe>
> >
> >Hi,
> >
> >In general there are two ways to do multiple requests processing at the
same
> >time:
> >
> >1) blocking system calls and threads
> >2) non-blocking system calls and a sophisticated state machine
> >
> >On the single processor computer the performance of this two approaches
> >should be about the same.
> >
> >libwww implements the second way of mutiprocessing. That is a more
complex
> >of the two approaches.
> >Laying threads on top of this approach is way too complex if not
impossible.
> >
> >I personally think that libwww is impossible to make thread safe. There
are
> >too many global structures.
> >
> >Olga.
> >
> >----- Original Message -----
> >From: "Roland Bickel" <r.bickel@cmg.nl>
> >To: <www-lib@w3.org>
> >Sent: Tuesday, March 27, 2001 9:21 AM
> >Subject: libwww multithreading once more...
> >
> >
> >>
> >> Right, i've spent a lot of time trying to figure out how the following
> >could
> >> be implemented in a asynchronous way.. I hope some of you guys/girls
can
> >be
> >> of help... i cannot imagine i'm the only one ever stumbling across this
> >> problem ...
> >>
> >> here goes :
> >> i want to be able to do multiple, simultaneous http PUT messages,
> >> preferrably without a fork construct. So suppose i have one thread
walking
> >> through the even loop waiting for responses to a previous issued PUT ,
if
> >> another process tries to send another PUT message *how* can I update
the
> >> eventloop ? prefer some .c examples..
> >>
> >> Thanks in advance,
> >> Roland
> >>
> >> btw.. isn't there some FAQ ? i think this would make a nice topic...
> >>
> >>
> >
>
> ~v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^vv^v^v^v^v^v^v^v^v^v^v^~
>
> Anton Belov
> Sun Microsystems Americas Customer Engineering
> anton.belov@canada.sun.com
> Ph. (905)415-2841  Fax. (905)477-0217
>
>

Received on Tuesday, 27 March 2001 11:36:12 UTC