On 02/09/09 21:12, Steven Dake wrote:
> On Wed, 2009-09-02 at 10:40 +0100, Christine Caulfield wrote:
>> If you try to run a client that accesses a non-loaded plugin (eg
>> votequorum on a default corosync installation) that process will hang.
>>
>> This patch makes corosync return the ERR_NOT_EXIST error if the plugin
>> is not found.
>>
>> I'm slightly unsure about whether it's sensible to call req_setup_send
>> with the conn_info mutex held, but it seems to work ;-)
>>
>> if it's not right to do that we might have to get the mutex, read the
>> service ID, release the mutex and then send the reply.
>>
>> Steve ?
>
> Chrissie,
>
> I looked at your patch because indeed calling ipc_disconnect with the
> mutex held would result in deadlock.  But your patch doesn't change how
> that call accesses the conn info data structure.  It doesn't hold the
> mutex while running.  Calling req_setup_send without the mutex held is
> safe in any regard, because the connection is not yet initialized, and
> the ipc thread not yet executing.
>
> The patch looks good to me, but I'm uncertain how the mutex is held
> currently when executing your patched version.  Could you point me at
> the line number?


Oops, no you're right. I misread the mutext_init for a mutex_lock!

Sorry

Chrissie

_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais

Reply via email to