By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
432,650 Members | 1,778 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 432,650 IT Pros & Developers. It's quick & easy.

Help Needed : Race condition while removing semaphore(sysvsem semaphore)

P: n/a
Hi
I'm getting a problem while removing semaphore from system.

Before removing semaphore I'm checking the usage count of a smaphore.

// checking usage count
usage_count = semctl(sem_ptr->semid, 1, GETVAL, NULL);
if( usage_count 1 )
// return don't remove semaphore
else
// remove semaphore

If usage count is more than 1 then I'm not removing it.It means that at
this time there are more than one threads waiting for resource.

The problem is coming when after checking the usage_count = 1 if
usage_count becomes 2.
then problem is coming.This operation is not atomic.the usage_count
should not be 2 while removing semaphore.

Please anybody can tell me that How to avoid this problem.

Regards,
Pawan

Aug 10 '06 #1
Share this Question
Share on Google+
2 Replies


P: n/a

techi_C wrote:
Hi
I'm getting a problem while removing semaphore from system.

Before removing semaphore I'm checking the usage count of a smaphore.

// checking usage count
usage_count = semctl(sem_ptr->semid, 1, GETVAL, NULL);
if( usage_count 1 )
// return don't remove semaphore
else
// remove semaphore

If usage count is more than 1 then I'm not removing it.It means that at
this time there are more than one threads waiting for resource.

The problem is coming when after checking the usage_count = 1 if
usage_count becomes 2.
then problem is coming.This operation is not atomic.the usage_count
should not be 2 while removing semaphore.

Please anybody can tell me that How to avoid this problem.

Regards,
Pawan
Can you tell me how do you use the semphore and the threads. I think
it's the problem about the thread.

Aug 10 '06 #2

P: n/a
"techi_C" <Pa*************@gmail.comwrote:
I'm getting a problem while removing semaphore from system.
Please anybody can tell me that How to avoid this problem.
Yes. Anybody in a newsgroup where semaphores are on topic can. They're
not ISO C, so they're off topic here.

Richard
Aug 10 '06 #3

This discussion thread is closed

Replies have been disabled for this discussion.