Bonjour à tous et joyeux noel
Voici mon probleme: j'ai une liste chainée qui servira à contenir des entiers qui seront le nom des fichiers à imprimer
Je dois donc faire un spooler mais je bloque sur le partage de ma liste chainée.
Je voudrais juste savoir comment faire pour que mon pere et mon fils modifie et accède à la meme liste.
Pas besoin de me parler de semaphore et d'exclusion mutuel, c'est juste la mise en partage qui m'importe.
Alors voici mon code allégé sans sémaphore etc:
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
18
19
20
21
22
23
24
25
26
27
28 int main () { int mem; int err; sll_s *liste = NULL; int val; /* creation du segment ( N case ) */ mem = shmget(IPC_PRIVATE, 10*sizeof(sll_s*), IPC_CREAT | 0666); /* attachement */ /* surement une erreur si dessous */ liste = shmat(mem, NULL, 0); liste = sll_new(); /* producteur -> ajoute les noms des fichiers a la liste */ if(fork() > 0){ sll_insert (liste, 18346); }else{ sll_first(liste); val = sll_data (liste); /* forcement j'obtiens rien, il considere ma liste vide */ printf("on recupere bien : %i\n", val); } return EXIT_SUCCESS; }
merci d'avance
Partager