Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "abstractions.c"
- int main()
- {
- int sem_id;
- key_t key = key_gen("./",11 );
- printf("klucz = %lu\n", (int)key); sleep(1);
- sem_create(&sem_id, key); sleep(1);
- char arg[30];
- sprintf(arg, "%d", sem_id);
- int i;
- for(i=0; i<5; i++)
- sem_set(sem_id, i, 0);
- for(i=0; i<3; i++)
- {
- switch(fork())
- {
- case -1:
- perror("fork error");
- exit(1);
- case 0:
- switch(i)
- {
- case 0:
- if(execl("./P1", "P1", arg, NULL)==-1)
- {
- perror("execl error");
- exit(2);
- }
- case 1:
- if(execl("./P2", "P2", arg, NULL)==-1)
- {
- perror("execl error");
- exit(2);
- }
- case 2:
- if(execl("./P3", "P3", arg, NULL)==-1)
- {
- perror("execl error");
- exit(2);
- }
- }
- }
- }
- for(i=0; i<3; i++)
- {
- wait(NULL);
- }
- sem_delete(sem_id);
- exit(0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement