malet jean-luc alias cityhunter a écrit :
> bonjour,
> je dois allouer 30 files de messages en utilisant msgget (impératif :
> 30 et msgget)
> je fais donc une boucle appelant 30 fois msgget :
> [cpp] for (ind = 0; ind < CD_NBMAXOUTIL; ind++)
> {
> P_taboutil[ind].cle_file_read = CD_CLEFMREAD_OUTIL + ind;
> G_Tab_files[ind] = msgget (CD_CLEFMREAD_OUTIL + ind, IPC_CREAT
> | 0666);
> if (G_Tab_files[ind] == CD_KO)
> {
> char c;
> fprintf(stderr,"erreur dans itteration %d/n",ind);
> scanf ("%c\n", &c);
> C_ERREUR ("PI_READ_TRAM", 1, "S_READ_INIT", errno, "pb
> msgget creation file outil");
> }
> }
> [/cpp]
> or pour une raison inconnue cela foire à la 11ième indentation....
> (key 330 -> 340)
> [cpp]
> cat /proc/sysvipc/msg
> key msqid perms cbytes qnum lspid lrpid uid
> gid cuid cgid stime rtime ctime
> 360 524288 666 0 0 12579 12576 502
> 502 502 502 1126707200 1126707200 1126703055
> 363 32769 666 0 0 0 0 502
> 502 502 502 0 0 1126693229
> 366 65538 666 0 0 0 0 502
> 502 502 502 0 0 1126693229
> 362 557059 666 0 0 0 0 502
> 502 502 502 0 0 1126703091
> 365 983044 666 0 0 0 0 502
> 502 502 502 0 0 1126703259
> 330 4620293 666 0 0 0 0 502
> 502 502 502 0 0 1126707382
> 331 4653062 666 0 0 0 0 502
> 502 502 502 0 0 1126707382
> 332 4685831 666 0 0 0 0 502
> 502 502 502 0 0 1126707382
> 333 4718600 666 0 0 0 0 502
> 502 502 502 0 0 1126707382
> 334 4751369 666 0 0 0 0 502
> 502 502 502 0 0 1126707382
> 335 4784138 666 0 0 0 0 502
> 502 502 502 0 0 1126707382
> 336 4816907 666 0 0 0 0 502
> 502 502 502 0 0 1126707382
> 337 4849676 666 0 0 0 0 502
> 502 502 502 0 0 1126707382
> 338 4882445 666 0 0 0 0 502
> 502 502 502 0 0 1126707382
> 339 4915214 666 0 0 0 0 502
> 502 502 502 0 0 1126707382
> 340 4947983 666 0 0 0 0 502
> 502 502 502 0 0 1126707382
> [/cpp]
>
> quelqu'un connaitrais-t-il une solution? (variable /proc à changer
> etc....)
>
>
bon j'aime pas me répondre à moi mm : echo 200 /proc/sys/kernel/msgmni