Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //library WAJIB
- #include <stdio.h>
- #include <sys/ipc.h>
- #include <sys/shm.h>
- #include <sys/types.h>
- #include <sys/sem.h>
- //situasional
- #include <stdlib.h>
- #include <string.h>
- #include <time.h>
- struct data
- {
- //ISI STRUCT
- };
- int main()
- {
- struct sembuf op;
- int shmid = shmget(232323, sizeof(struct data), IPC_CREAT|0666);//232323 alamat bebas yg penting sama
- int semid = semget(232323, 1, IPC_CREAT|0666);
- struct data *dt = (struct data *)shmat(shmid, NULL, 0666);
- semctl(semid, 0, SETVAL, 0);
- do{
- /*
- KODING DISINI untuk client(input)
- CATATAN:pada saat scanf WAJIB DIAKHIRI getchar();
- */
- op.sem_num = 0;
- op.sem_op = -1;//-1 buat server, 1 buat client
- op.sem_flg = 0;
- semop(semid, &op, 1);
- getchar();//getchar() khusus client
- /*
- KODING DISINI untuk server(output)
- CATATAN:pada saat printf WAJIB DIAKHIRI "\n"
- */
- }while(1);
- shmdt(&dt);
- shmctl(shmid, IPC_RMID, 0);
- semctl(semid, 0, IPC_RMID);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement