Bonjour ,
LE probleme est simple a comprendre :
main.c :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 lib.h : typedef struct{ <div style="margin-left:40px">long mtype; int pid; }msgbuf;</div>
Perror me dit tjrs qu'il n'y a pas de message du type desire alros que printf me dit qu il y a des messages mtype = 2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 int var1 = 0; int var2 = 0; errno = 0; msbuf message; if ((msgrcv(msgid_file_message,&message,sizeof(int),2,IPC_NOWAIT)==-1)) { <div style="margin-left:40px">if (errno = ENOMSG){ <div style="margin-left:40px">msgrcv(msgid_file_message,&message,sizeof(int),0,0) var1 -= 1;</div>}</div>} else <div style="margin-left:40px"> var2 -=1;</div> printf("mtype est %d", message.mtype") perror("erreur");
var1 est la seule variable decremente
J ai aussi mis un perror apres le 2eme msgrcv mais pas de probleme ace niveau la
Partager