Je voudrais utiliser splice
pour copier des données sans les recopier de STDIN_FILENO
vers un descripteur de fichier (qui pourrait être un fichier régulier, un périphérique caractère ou bloc, un tube FIFO, ou toute autre chose qui peut être ouverte avec open
). Pour utiliser splice
, soit le descripteur de fichier source soit le descripteur de fichier cible doit être l'extrémité appropriée d'un tube, donc en général un tube est créé pour servir de tampon intermédiaire lorsque le programmeur veut copier des données sans les recopier de non-tube à non-tube. Cependant, si STDIN_FILENO
est déjà l'extrémité de lecture d'un tube, alors je pourrais éviter cette étape et essayer de copier directement de STDIN_FILENO
vers l'autre descripteur de fichier. Par conséquent, j'aimerais être en mesure de déterminer si STDIN_FILENO
est l'extrémité de lecture d'un tube.
Y a-t-il un appel système Linux qui peut déterminer si STDIN_FILENO
est l'extrémité de lecture d'un tube?