Tag: EPOLL
Digamos que agrego un socket a un epoll, esperando tanto eventos EPOLLIN como EPOLLOUT, algo así: struct epoll_event event; event.events = EPOLLIN | EPOLLOUT; epoll_ctl(epfd, EPOLL_CTL_ADD, socket, &event); Si el socket se vuelve legible y escribible, ¿necesitaría llamar a epoll_wait() dos veces para recibir ambos eventos, o devolverá un epoll_event . . . Read more
struct sockitem* NewSockItem(int sockfd, CallBack cb) { struct sockitem *si = (struct sockitem*)malloc(sizeof(struct sockitem)); si->sockfd = sockfd; si->callback = cb; return si; } struct epoll_event ev; ev.events = EPOLLIN | EPOLLET; ev.data.ptr = NewSockItem(clientfd, recv_cb); epoll_ctl(eventloop->epfd, EPOLL_CTL_ADD, clientfd, &ev); al compilar, se presenta un error como este:
He probado la función select() en Windows y he descubierto que el parámetro fd_set, que se utiliza en select(), produce la salida con los sockets satisfactorios. ¿Es posible que select() en Windows tenga una función similar a epoll() en Linux? Para realizar las pruebas, he utilizado el depurador y he . . . Read more
Estoy migrando mi proyecto a iouring para obtener un mejor rendimiento. Sin embargo, parte del sistema depende de epoll como sistema de eventos y no se puede mover a iouring (por ejemplo, los controladores de la base de datos escriben en el socket internamente y recibo notificaciones de eventos de . . . Read more