server.c
来自「linux下面的文件锁和信号量的程序」· C语言 代码 · 共 49 行
C
49 行
/******************************************************************* 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 + =
减小字号Ctrl + -
显示快捷键?