>
> How can I know who own the semaphore at one moment?
>>>>>
>>>>
>>>> ipcs -s
>>>>
>>>  'cat /proc/sysvipc/sem' should be same.
>>>
>>>
>>>>
>>>>
>>>>
>>>>> On Thu, Dec 25, 2008 at 12:26 AM, shark huang <[email protected]>wrote:
>>>>>
>>>>>> Hi:  is the value of cuid and uid always same? Looks like they only
>>>>>> are given a same value in function "ipc_addid", which means the value was
>>>>>> initialized when the semaphore is created.
>>>>>>
>>>>>
>>   When performing the first task, the process which calls *semget*becomes 
>> the owner/creator, and  Remember, ownership can be changed, but the
>> creating process always remains the creator. So values of uid and cuid may
>> not be always same.
>>
>     Several user can operate one semaphore  at the same time, so how to
> decide who is the owner  ? Could you show me in source code?
>
>> Unfortunately, there isn't really a way to know what pid is "owning" the
critical region that is being protected by this semaphore.  This is because
semaphores don't really enforce the notion of a critical section.
 Semaphores aren't binary gates, they aren't locked or unlocked (although
they can be used that way).  Its entirely possible for two processes to
manipulate a semaphore in such a way as both complete the operation without
blocking.  So its not like the semphore defines a critical region by virtue
solely of the call sites where it referenced.
So the answer is no, there isn't a way to get what pids which are operating
on the semaphore

>
>>
>>
>>>>>> br
>>>>>> shark
>>>>>>
>>>>>>
>> Note: Please send mail to mailing list, this way everybody will be reading
>> the thread
>>
>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Thanks & Regards,
>>>> Ajit Subhash Mote
>>>>
>>>>
>>>
>>
>>
>> --
>> Thanks & Regards,
>> Ajit Subhash Mote
>>
>>
>


-- 
Thanks & Regards,
Ajit Subhash Mote

Reply via email to