txt tipos salida manejo lenguaje leer guardar entrada ejercicios dev datos crear como binarios archivos archivo c++ c linux sockets epoll

c++ - tipos - manejo de archivos en c



Epoll en archivos regulares (2)

Creo que fallará en epoll_ctl con EPERM :

EPERM The target file fd does not support epoll.

si el archivo no tiene interfaz poll() .

El código real es http://lxr.linux.no/#linux+v3.1/fs/eventpoll.c#L1373

1373 /* The target file descriptor must support poll */ 1374 error = -EPERM; 1375 if (!tfile->f_op || !tfile->f_op->poll) 1376 goto error_tgt_fput; 1377

¿Puede epoll (en Linux) ser de alguna manera útil para archivos regulares? Sé que se usa principalmente con enchufes pero solo me pregunto.


Realmente no. epoll solo tiene sentido para los descriptores de archivos que normalmente mostrarían un comportamiento de bloqueo en lectura / escritura, como tuberías y zócalos. Los descriptores de archivos normales siempre devolverán un resultado o un fin de archivo más o menos de inmediato, por lo que epoll no les haría nada útil.