Ich schreibe eine Multithread Linux-2.6.32 + -Anwendung um select
mit epoll
zu ersetzen.Was ist der Vorteil der Verwendung von epoll_create1() anstelle von epoll_create()
Die Man-Pages für epoll_create1(2) erklären:
Wenn Flags 0 ist, dann, außer der Tatsache, dass die veraltete Größe Argument fallen gelassen wird, epoll_create1() als epoll_create gleich ist().
Doch ist das nicht obsolet Größe Argument in epoll_wait(2)
als maxevents
verwendet?
epoll_wait(int epfd, struct epoll_event *events,
int maxevents, int timeout);
Das bedeutet, wenn epoll nutzen wir die maximale Anzahl der Ereignisse in epoll_create1
erklärt vermeiden können, aber früher oder später haben wir es zu verweisen, wenn epoll_wait
Aufruf? Wenn ja, was bringt es, epoll_create1
ins Spiel zu bringen?
Danke für die Aufklärung zu diesem Thema.
Dank für das Erklären Dies. In "epoll_create1" lasse ich den Kernel selbst seine internen Strukturen dimensionieren, in Ordnung. Ich dachte, der 'maxevents' Parameter würde ebenfalls fallen gelassen werden, aber das ist nicht der Fall. – noisebleed