2002-05-24 04:29:10 +00:00
|
|
|
// -c create semaphore
|
|
|
|
// -d destroy semaphore
|
|
|
|
// -l lock semaphore, sleep 10 secs, unlock
|
|
|
|
|
|
|
|
#include <unistd.h>
|
2002-09-26 23:12:13 +00:00
|
|
|
#include <strings.h>
|
2002-10-04 20:26:23 +00:00
|
|
|
#include <string.h>
|
2002-05-24 04:29:10 +00:00
|
|
|
|
|
|
|
#include "synch.h"
|
|
|
|
|
|
|
|
#define KEY 0xdeadbeef
|
|
|
|
|
2002-10-04 20:26:23 +00:00
|
|
|
int main(int argc, char** argv) {
|
2002-05-24 04:29:10 +00:00
|
|
|
if (!strcmp(argv[1], "-c")) {
|
|
|
|
create_semaphore(KEY);
|
|
|
|
} else if (!strcmp(argv[1], "-d")) {
|
|
|
|
destroy_semaphore(KEY);
|
|
|
|
} else if (!strcmp(argv[1], "-l")) {
|
|
|
|
lock_semaphore(KEY);
|
|
|
|
sleep(10);
|
|
|
|
unlock_semaphore(KEY);
|
|
|
|
}
|
2002-10-04 20:26:23 +00:00
|
|
|
|
|
|
|
return 0;
|
2002-05-24 04:29:10 +00:00
|
|
|
}
|