Die Funktion wartet auf Ereignisse, die bei dem epoll -Objekt epfd registriert sind. Der Speicher, auf den events zeigt, ist der Ausgabebereich. Er muss ein Array von Strukturen struct epoll_event sein, und die Anzahl der Array-Elemente muss in maxevents angegeben sein. Der Parameter maxevents muss größer als Null sein. Die Funktion epoll_wait() versorgt zu jedem Dateideskriptor, für den ein Ereignis eingetreten ist, eine Struktur in dem Array. Die Funktion kann Ereignisse für bis zu maxevents Dateideskriptoren liefern. Der Aufruf wird blockiert, bis eines der folgenden Ereignisse eintritt: ein Dateideskriptor liefert ein Ereignis der Aufruf wird durch ein Signal unterbrochen oder die durch timeout angegebene Zeit ist abgelaufen.
Der Parameter timeout gibt die maximale Wartezeit in Millisekunden an. Hat timeout den Wert -1, wartet epoll_wait() auf unbestimmte Zeit. Wird Null angegeben, kehrt epoll_wait() sofort zurück, auch wenn keine Ereignisse eingetreten sind. In den Strukturelementen data des Ausgabebereiches werden die Werte geliefert, die bei der Registrierung der Dateideskriptoren mit der Funktion epoll_ctl() angegeben worden waren, während die Strukturelemente events Bit-Felder der eingetretenen Ereignisse enthalten. |