Giriş
İlk parametre pollfd dizisidir. İkinci parametre diziniz uzunluğudur. Üçüncü parametre milisaniye cinsinden en fazla kaç ne kadar bekleneceğidir.
İlginlendiğimiz event'leri events alanına yazarız. Çağrı sonunda revents alanında sonuçları alırız.
POLLIN
Okuma için kullanılır.
POLLOUT
Yazma için kullanılır.
POLLPRI
Sanırım GPIO pin'inde durum değişkliği olursa kullanılır.
Örnek
Tek bir file descriptor için şöyle yaparız.
Örnek
Şöyle yaparız.
İlk parametre pollfd dizisidir. İkinci parametre diziniz uzunluğudur. Üçüncü parametre milisaniye cinsinden en fazla kaç ne kadar bekleneceğidir.
İlginlendiğimiz event'leri events alanına yazarız. Çağrı sonunda revents alanında sonuçları alırız.
POLLIN
Okuma için kullanılır.
POLLOUT
Yazma için kullanılır.
POLLPRI
Sanırım GPIO pin'inde durum değişkliği olursa kullanılır.
Örnek
Tek bir file descriptor için şöyle yaparız.
int ret_poll= poll( &pollfd, 1, 10000 ); //10sec timeout
Örnek
Şöyle yaparız.
struct pollfd fds[1];
fds[0].fd = ...;
fds[0].events = POLLIN;
int pollrc = poll(fds, 1, poll_timeout); // blocks until data arrives or times out
if (pollrc < 0) { //Error
...
}
else if (pollrc == 0) //timeout
{
...
}
else if (pollrc > 0) {
if ((fds[0].revents & POLLIN) == POLLIN) {
...
}
}
Hiç yorum yok:
Yorum Gönder