Re: Question regarding mutex locking

From: Larry Finger
Date: Wed Nov 28 2007 - 09:47:01 EST


Matthias Kaehlcke wrote:
> El Tue, Nov 27, 2007 at 10:37:00PM -0600 Larry Finger ha dit:
>
>> If a particular routine needs to lock a mutex, but it may be entered with that mutex already locked,
>> would the following code be SMP safe?
>>
>> hold_lock = mutex_trylock()
>>
>> ...
>>
>> if (hold_lock)
>> mutex_unlock()
>
> this is wont work, a mutex must not be released from another
> context than the one that acquired it.

I thought that mutex_trylock() returned 1 if it got the lock and 0 if not. If that is true, wouldn't
the if statement only unlock if the lock was obtained in this routine?

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/