Sans trop chercher (j'ai regardé le 1er lien très vite fait cependant), je dirais que ce message d'erreur:
Opération de contrôle d'E / S inappropriée
est le même que celui que j'ai quand j'essaie de faire un printf (en bourne) dans un script dont stdout à probablement été fermé.
En extrapolant un peu, (constante de macro) aurait tendance à me faire penser que ton appel passe par une macro, pas par une véritable fonction.
Du coup, je te suggérerais de trouver l'appel qui fait ça dans le code, qui est probablement un "fprint( stdout, "foobar");" et de le remplacer par un truc du genre write( fd, "foobar", strlen( "foobar" );, en prenant soin d'être sûr que fd est ouvert en écriture.
D'autres pourront peut-être en dire plus que moi, en prenant le temps de lire tes 3 liens en fond en comble, mais un peu plus d'info contextuelles ne serait pas de trop: on ne sait même pas ce que tu essaies vraiment de faire ni d'où tu sors réellement tes sources :/
# descripteur fermé?
Posté par freem . En réponse au message [Debian] : Améliorer ioctl.h pour communication non-standard. Évalué à 2.
Sans trop chercher (j'ai regardé le 1er lien très vite fait cependant), je dirais que ce message d'erreur:
est le même que celui que j'ai quand j'essaie de faire un printf (en bourne) dans un script dont stdout à probablement été fermé.
En extrapolant un peu,
(constante de macro)aurait tendance à me faire penser que ton appel passe par une macro, pas par une véritable fonction.Du coup, je te suggérerais de trouver l'appel qui fait ça dans le code, qui est probablement un "fprint( stdout, "foobar");" et de le remplacer par un truc du genre
write( fd, "foobar", strlen( "foobar" );, en prenant soin d'être sûr que fd est ouvert en écriture.D'autres pourront peut-être en dire plus que moi, en prenant le temps de lire tes 3 liens en fond en comble, mais un peu plus d'info contextuelles ne serait pas de trop: on ne sait même pas ce que tu essaies vraiment de faire ni d'où tu sors réellement tes sources :/