[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 Пример сообщений - отправитель (продолжение)

37-44          Послать  три   сообщения  с   типом  равным  1L.  Длина
          посылаемого включает нулевой байт, завершающий строку.

45        Ожидать получения сообщения о завершении (по договоренности,
          типа 99L)  от получателя,  перед тем,  как  свернуться.  Тип
          сообщения Done  определен в  строке 9.  Это может быть любое
          значение, кроме 1L.

50        Удалить очередь сообщений.

Файл: msend.c
             ПРИМЕР СООБЩЕНИЙ - ОТПРАВИТЕЛЬ (ПРОДОЛЖЕНИЕ)
36 buf.mtype = 1L;
37 for(i=0; i < 3; i++){
38 strcpy(buf.mtext,strings[i]);
39 if(msgsnd(mid,&buf,strlen(buf.mtext)+1,0)
40 {
41 perror("Sender can't msgsnd");
42 exit(3);
43 }
44 }

45 rtn=msgrcv(mid,&buf,MAX_SEND_SZ,Done,0);
46 if( rtn == -1 ){
47 perror("Sender can't msgrcv");
48 exit(4);
49 }

50 msgctl(mid, IPC_RMID, NULL);
51 return(0);
52 }