Re: recursive locking in linux?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 3/18/07, Arjan van de Ven <arjan@xxxxxxxxxxxxx> wrote:
On Sat, 2007-03-17 at 09:21 -0400, Robert P. J. Day wrote:
>   does linux support recursive locking with any of its synchronization
> primitives?  love's book on kernel development is adamant that linux
> has no recursive locks, but i've seen other documentation that seems
> to suggest that it exists, although i'm not sure where.

the big kernel lock (BKL) allows recursion.
in theory rw spinlocks can allow recursion in linux.

it's really bad coding practice though...

(all other primitives are not recursive)

Hi,

I may be wrong, but from what I understand, the count passed in the
semaphore initialization

sema_init(sem, count);

is the number of threads that are allowed to hold the semaphore
simultaneously (no of threads that are allowed to enter their critical
sections simultaneously). So can't a semaphore be actually held
recursively?

Also, the only difference I could find between a semaphore and mutes
is that a mutex is a specail and most common form of semaphore where
only one thread can get it at a time. Are there any other differences?

Thanks,

Dan

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux