03-14-2006
Example for use of kernel semaphore
Hi friends I'm doing a project and in that I need to use kernel semaphore but I'm not very clear about how to use it. I've used system V semaphore.
What I find difficult to understand is that in system V semaphore, a semaphore set is registered to the system (the semid returned from semget call is unique and can identify the semaphore set) allowing synchronisation between processes as against this in kernel semaphore it seems to me only a instance of structure semaphore needs to be created and up() and down() called upon it for synchronisation. But how can an instance of structure declared in one program be known in other program.
May be I'm thinking wrong way plz. rectify me if so and plz. show me an example how to use kernel semaphore.
Thanks in advance
Last edited by Rakesh Ranjan; 03-16-2006 at 05:01 AM..
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
hi, is there any command where we can monitor semaphores? (1 Reply)
Discussion started by: yls177
1 Replies
2. UNIX for Dummies Questions & Answers
Hi,
I'm new to UNIX.
I need to know what's a semaphore
Do reply.
Thanks
VJ (3 Replies)
Discussion started by: vjsony
3 Replies
3. UNIX for Dummies Questions & Answers
Explain the need for a semaphore in Linux kernel. (0 Replies)
Discussion started by: anupa
0 Replies
4. Shell Programming and Scripting
Hi,
I am looking to use a semaphore for the first time in one of my scripts. I am just wondering if there are any simple examples or tutorials around?
I am a beginner so the simpler the better :)
Thanks
-Jaken (2 Replies)
Discussion started by: Jaken
2 Replies
5. UNIX for Dummies Questions & Answers
what is semaphore? can any body explain it in a more simple way than the manual ??
replies appreciated
Regards
raguram R (7 Replies)
Discussion started by: raguramtgr
7 Replies
6. Programming
In my server code there is a thread per client...
The server call accept() and after that start the thread.
So there is a thread for client that save in RAM the client's message, that will be send to other clients.
Now in RAM I have created a shared memory in which thread read and write(save)... (2 Replies)
Discussion started by: italian_boy
2 Replies
7. Shell Programming and Scripting
Control two exclusively shared resources(semaphore). The two resources are two files. The producer will write even numbers to one file, and odd numbers to another one. The consumer respectively reads from each file until it gets 5 even numbers and 5 odd numbers.
Can any one help me with the... (0 Replies)
Discussion started by: gokult
0 Replies
8. Programming
If I create a semaphore and then I fork a number of child processes then all the child process use that same semaphore.
Since the process address spaces are different rfom each other then how all the child process are able to access the same semaphore?
I understand that semaphore/mutex is at os... (0 Replies)
Discussion started by: rupeshkp728
0 Replies
9. Solaris
Can anyone tell me abt the Semaphore concept and what is semaphore???
is semaphore id is associated in terms as in resources like semaphore id 1 indicates cpu share unit is given and semaphore id 2 will indicate abt the memore or semaphore id 3 will tell us the i/o components (1 Reply)
Discussion started by: aarjun07
1 Replies
10. UNIX for Beginners Questions & Answers
I was asked to add this piece of code to a c program which I will execute through the shell:
for(long i = 0; i < NITER; i++)
{ sem_wait( &sema);
count++;
sem_post( &sema); }
I didn't get it, which is the critical section ? if it's "count++" how would a thread wake up in order to enter it... (1 Reply)
Discussion started by: uniran
1 Replies
LEARN ABOUT CENTOS
sem_post
SEM_POST(3) Linux Programmer's Manual SEM_POST(3)
NAME
sem_post - unlock a semaphore
SYNOPSIS
#include <semaphore.h>
int sem_post(sem_t *sem);
Link with -pthread.
DESCRIPTION
sem_post() increments (unlocks) the semaphore pointed to by sem. If the semaphore's value consequently becomes greater than zero, then
another process or thread blocked in a sem_wait(3) call will be woken up and proceed to lock the semaphore.
RETURN VALUE
sem_post() returns 0 on success; on error, the value of the semaphore is left unchanged, -1 is returned, and errno is set to indicate the
error.
ERRORS
EINVAL sem is not a valid semaphore.
EOVERFLOW
The maximum allowable value for a semaphore would be exceeded.
CONFORMING TO
POSIX.1-2001.
NOTES
sem_post() is async-signal-safe: it may be safely called within a signal handler.
EXAMPLE
See sem_wait(3).
SEE ALSO
sem_getvalue(3), sem_wait(3), sem_overview(7)
COLOPHON
This page is part of release 3.53 of the Linux man-pages project. A description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
Linux 2012-05-13 SEM_POST(3)