sem_open(3) and FBSD 5.2 : what the point ?
Eric Jacoboni
jaco at scrogneugneu.org
Fri Feb 6 13:16:52 PST 2004
Hi,
Here's a sample code:
#include <stdio.h>
#include <semaphore.h>
int main(void) {
sem_t *dis_ping, *dis_pong;
dis_ping = sem_open("/ping.sem", O_CREAT, 0777, 1);
dis_pong = sem_open("/pong.sem", O_CREAT, 0777, 0);
for(;;) {
sem_wait(dis_ping);
puts("Ping...");
sem_post(dis_pong);
}
sem_close(dis_ping);
sem_close(dis_pong);
return 0;
}
This code compiles and works fine on Darwin...
On FBSD 5.2, gcc first complains it doesn't know about O_CREAT... That's
not what the sem_open() manpage claims but, ok, let's include <fcntl.h>.
The code, then, compile ok, but fails on :
$ ./ping.exe
zsh: invalid system call (core dumped) ./ping.exe
Any idea?
More information about the freebsd-questions
mailing list