Re: QUERY regarding semaphores?

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

 





On 12/22/05, Jesper Juhl <jesper.juhl@xxxxxxxxx> wrote:
On 12/21/05, pradeep singh <2500.pradeep@xxxxxxxxx> wrote:
>
>
> On 12/21/05, Badari Prasad <h.badari@xxxxxxxxx > wrote:
> > Hello,
> >          I have a Query regarding semaphores, is semaphores a mandatory
> lock mechanism ( like lockf() ) ,or an advisory lock mechanism ( like flock
> () ).
>
>  it  is a mandatory lock mechanishm , where the requesting process checks
> for a  value  to get  positive ( as semaphores r initalised to a value
> depending on usage ...AFAIR ..plz CMIIW) , there r generally 2 operations on
> them.
>

[Please:  s/r/are/ ,  s/plz/please/]

You are wrong. Kernel semaphores are, as Matthew Wilcox already
answered, advisory locks.
Nothing at all is stopping you from accessing data protected by a
semaphore - bad things will probably happen but nothing stops you from
crashing your kernel that way.

thanks a lot jesper for  correcting  me:-)

but i read every process which has to enter cetain block of code protected by semphore( say a binary semaphore ) will 1st check for the value of the sempahore and if its is 0 then increment it to 1 and eneter d block and subsequently decrement d value to 0 when leaving the block, right ??

now how can other process get inside the block without actually incrementing the semaphore to one?? ...

plz explain.

thanks a lot :-)

>  sem wait and sem post.
>  check any book on linux prograaming on their implementation....
>
>  good luck
>
>
> >           If it is an advisory lock mechanism, in which situation the lock
> be ignored by the other process ( say process2 ) trying to access the data
> which is locked by process1.
> >
> > Thank you,
> >          Badari.
> >


--
Jesper Juhl <jesper.juhl@xxxxxxxxx>
Don't top-post  http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please      http://www.expita.com/nomime.html



--
play the game

[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