Is it possible to use System V shared memory with POSIX semaphores? -


i have 2 programs communicate using system v shared memory.

both programs work should, add named semaphores avoid race conditions.

i have tried following:

sem_t *sem = sem_open("/semaphorename", o_creat | o_excl, s_irusr | s_iwusr, 0);  if(sem == sem_failed){     sem = sem_open("/semaphorename", 0); }  while(1){     /*get input user */     sem_wait(sem);     /* write shared memory. if quit entered, break while loop */     sem_post(sem); } sem_close(sem); sem_unlink("/semaphorename"); 

without semaphores, programs work, them, nothing written shared memory. doing wrong , possible use these semaphores when using system v shared memory?

since initial value of semaphore 0, sem_wait() wait forever until sem_post(). initialise semaphore single sem_post() in 1 of programs.


Comments