[<<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 }