pcp
[Top] [All Lists]

Re: [pcp] pcp updates - thread-safe libpcp is done!

To: Mark Goodwin <mgoodwin@xxxxxxxxxx>
Subject: Re: [pcp] pcp updates - thread-safe libpcp is done!
From: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Wed, 27 Jul 2011 17:09:00 +1000
Cc: pcp@xxxxxxxxxxx
In-reply-to: <4E2FB10C.8070802@xxxxxxxxxx>
References: <1311389057.20414.22.camel@bozo-laptop> <4E2FB10C.8070802@xxxxxxxxxx>
On Wed, 2011-07-27 at 16:32 +1000, Mark Goodwin wrote:
> On 07/23/2011 12:44 PM, Ken McDonell wrote:
> > 3. Max, there was an issue raised at the meeting held at the Aconex
> > offices about context vs channel locking, but my notes don't capture
> > enough detail to reconstruct your concerns.  The locking currently works
> > like this
> 
> IIRC, we discussed whether we still want to keep using multiple
> contexts per socket/channel connection to the same pmcd, or whether
> to change that to a 1:1 arrangement to simplify the locking.
> The current n:1 implementation was only really used for the old
> pmchart, which is now long gone.

Thanks Mark for reminding me of the discussion ... but I have a nagging
feeling that Max mentioned something else possibly about wanting to
destroy a context that was stuck waiting for a timeout ...

Anyway, the locking proved to be _not_ that difficult, and there is
quite a bit of complex code around profiles which are juggled across the
existing n:1 implementation, and I did not want to risk breaking this,
especially since there is both a client-side and a pmcd-side component,
and then taking care of the up-rev and down-rev cases for all
combinations of old and new versions ... it seemed safer to leave the
libpcp <--> pmcd protocols alone and do the "right" (tm) thing in libpcp
to lock the context and the ipc channel as required.

<Prev in Thread] Current Thread [Next in Thread>