Sponsored Content
Homework and Emergencies Homework & Coursework Questions Semaphores sem_wait sem_post problem Post 302729479 by whatevernever on Friday 9th of November 2012 08:51:20 PM
Old 11-09-2012
Semaphores sem_wait sem_post problem

hallo!
if there are many processes running and I initialize the semaphore like this:

my_sem = sem_open(SEM_NAME, O_CREAT | O_RDWR,
S_IRUSR | S_IWUSR, 10);
(the last argument is 10)


and then i use
sem_wait(my_sem);
sleep(5);
sem_post;

Will 10 processes be able to access the critical section on the same time and sleep or only one process can do that?
And if not how is it possible to make max 10 processes sleep at the same time?

eleni matsouka
asoe pliroforiki athens
profesor manolis giannakoudakias
 

9 More Discussions You Might Find Interesting

1. Programming

Semaphores

Dear Reader, I'm in a multiprocess environment working with shared mem and semaphores as mutex.. The problem is -- If one of the process hooked up with the semaphore and accessing the shared mem, terminates abruptly ( or got killed ), other process which are in want of the semaphore are... (1 Reply)
Discussion started by: joseph_shibu
1 Replies

2. UNIX for Dummies Questions & Answers

Semaphores

Hi all, I am using HP 10.20 on A 9000/785. My question is: If I am the only person logged in as root at the moment, how many "semaphore proccesses" should I have?? Is it only one, or it is relevant to other system proccesses? Here is what I get listing the current semaphores # ipcs -sp... (1 Reply)
Discussion started by: guest100
1 Replies

3. Programming

semaphores using up and down

been searching around on how to use an up and down function with semaphores but i can't find an example. i looked into using: "semop" but i have no idea how to use it. I have been able to declared the semaphores using semget and initializing them using semctl. (7 Replies)
Discussion started by: ddx08
7 Replies

4. UNIX for Advanced & Expert Users

How many semaphores?

Hello, first of all I apologize if this thread is not in the correct section of this forum, but this one just seemed the most appropriate. The question I have does not concern Unix specifically, it applies to virtually any OS, however it is in Unix where I learned about this problem. So, the... (8 Replies)
Discussion started by: Watto86
8 Replies

5. Programming

Problem with semaphores

Hello, I was doing an exercise of semaphores and shared memory, namely the barbers: -B number of barbers -S number of chairs -C number of customers. I have done already and I compiled the code, but when run I get an error segment. Can not be and it took several days. If anyone sees the error... (2 Replies)
Discussion started by: ciudadwifi
2 Replies

6. Programming

about Semaphores

Hello Everybody, I am building a server. this server contains some data. Clients may modify this data or read this data. If a client is reading the data and at the same time another client is modifying the data then at this case the reading client may read some false data (some old mixed with... (1 Reply)
Discussion started by: Omar_Mokhtar
1 Replies

7. Programming

sem_wait, sem_post confusion?

Hi friends, I have written this small program using the concept of semaphores. I am a bit confused, hope u can help me with it. The idea is that 1. Two threads are created 2. First will be displaying 0(zero) on the screen 3. Second will be displaing 1(one) on the screen 4. This process... (2 Replies)
Discussion started by: gabam
2 Replies

8. Programming

Undefined: sem_init, sem_post, sem_wait

Hi friends, I am using semaphores in my program, but when I compile the program, it gives the following error $ gcc sem.c -o sem -lpthread Undefined first referenced symbol in file sem_init ... (1 Reply)
Discussion started by: gabam
1 Replies

9. Programming

Semaphores problem

hallo! if there are many processes running and I initialize the semaphore like this: my_sem = sem_open(SEM_NAME, O_CREAT | O_RDWR, S_IRUSR | S_IWUSR, 10); (the last argument is 10) and then i use sem_wait(my_sem); sleep(5); sem_post; Will 10 processes be able to access the... (0 Replies)
Discussion started by: whatevernever
0 Replies
sem_init(3RT)						    Realtime Library Functions						     sem_init(3RT)

NAME
sem_init - initialize an unnamed semaphore SYNOPSIS
cc [ flag... ] file... -lrt [ library... ] #include <semaphore.h> int sem_init(sem_t *sem, int pshared, unsigned int value); DESCRIPTION
The sem_init() function is used to initialize the unnamed semaphore referred to by sem. The value of the initialized semaphore is value. Following a successful call to sem_init(), the semaphore may be used in subsequent calls to sem_wait(3RT), sem_trywait(3RT), sem_post(3RT), and sem_destroy(3RT). This semaphore remains usable until the semaphore is destroyed. If the pshared argument has a non-zero value, then the semaphore is shared between processes; in this case, any process that can access the semaphore sem can use sem for performing sem_wait(3RT), sem_trywait(3RT), sem_post(3RT), and sem_destroy(3RT) operations. Only sem itself may be used for performing synchronization. The result of referring to copies of sem in calls to sem_wait(3RT), sem_try- wait(3RT), sem_post(3RT), and sem_destroy(3RT), is undefined. If the pshared argument is zero, then the semaphore is shared between threads of the process; any thread in this process can use sem for performing sem_wait(3RT), sem_trywait(3RT), sem_post(3RT), and sem_destroy(3RT) operations. The use of the semaphore by threads other than those created in the same process is undefined. Attempting to initialize an already initialized semaphore results in undefined behavior. RETURN VALUES
Upon successful completion, the function initializes the semaphore in sem. Otherwise, it returns -1 and sets errno to indicate the error. ERRORS
The sem_init() function will fail if: EINVAL The value argument exceeds SEM_VALUE_MAX. ENOSPC A resource required to initialize the semaphore has been exhausted, or the resources have reached the limit on semaphores (SEM_NSEMS_MAX). ENOSYS The sem_init() function is not supported by the system. EPERM The process lacks the appropriate privileges to initialize the semaphore. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ |MT-Level |MT-Safe | +-----------------------------+-----------------------------+ SEE ALSO
sem_destroy(3RT), sem_post(3RT), sem_wait(3RT), attributes(5), standards(5) SunOS 5.10 28 Jun 2002 sem_init(3RT)
All times are GMT -4. The time now is 09:32 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy