Bonsoir,

j'essaye d'écrire un programme qui, pour un pid donné, retourne la liste de ses fils. Ca donne quelque chose comme:

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
 
14: void childtree(pid_t pid)
15: {
16:   struct task_struct *parentTask;
17:
18:   parentTask = find_task_by_pid(pid);
19:   struct listhead *p;
20:   struct task_struct *childTask;
21:   
22:   list_for_each(p, &parentTask->children)
23:   {
24:      childTask = list_entry(p, struct task_struct, sibling);
25:      prinff("the pid is %d\n", childTask.pid);
26:   }
27:}
Seulement quand je compile, j'ai ces deux erreurs:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
bla.c:18: warning: assignment makes pointer from integer without a cast
bla.c:22: error: dereferencing pointer to incomplete type
bla.c:23: error: expected ‘;’ before ‘{’ token
J'ai regardé un peu partout (ici et ici par exemple), et l'utilisation de liste_for_each est exactement la même. j'utilise gcc4.4. Si quelqu'un à une idée, ça serait géniale, car chui en train de devenir chèvre...

Merci d'avance.