📄 server.c
字号:
/******************************************************************* File:server.c* Description:server of an test program for IPC using semaphore* Author:Luke Huang* Date:Jun. 14th 2002******************************************************************/#include "key.h"int main(int argc,char ** argv){ int exp_opt,oflag,semid,nsems; union semun arg; ushort * ptr; struct semid_ds seminfo; oflag=SEM_MODE|IPC_CREAT; /* while((exp_opt=getopt(argc,argv,"e"))!=-1){ switch(exp_opt){ case 'e': oflag|=IPC_EXCL; break; default: ; } } if(optind!=argc-2){ printf("usage:server [-e] <pathname> <nsems>\n"); exit(1); } */ //nsems=atoi(argv[optind+1]); //nsems=2; if((semid=semget(ftok(KEY_PATH,KEY_ID1),2,oflag))==-1){ perror("semget erro!\n"); exit(1); } printf("semaphore id is %d \n",semid); arg.buf=&seminfo; semctl(semid,0,IPC_STAT,arg); nsems=arg.buf->sem_nsems; printf("Semaphore number is %d \n",nsems); arg.array=ptr; ptr[0]=atoi(argv[1]); ptr[1]=atoi(argv[2]); semctl(semid,0,SETALL,arg); exit(0);}/* END OF FILE:server.c */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -