Linux'ta sysfs GPIO ile çalışırken, POLLPRI
ve POLLERR
olayları için poll
bildirmeniz istenir.Düzenli bir dosyada bir POLLPRI olayını nasıl oluşturabilirsiniz?
Bu oldukça kolaydır:
poll = select.poll()
poll.register(filename, select.POLLPRI | select.POLLERR)
result = poll.poll(timeout=timeout)
Ancak, ben buna güvenerek uygulama için bu kodu testler ve simülasyon testleri yazmak istiyorum. Yani, bir POLLPRI
olayına neden olabilmem gerekiyor.
Bir Unix alan soketi kullanmayı denedim, ancak etki alanı soketi bağlandıktan sonra dosyayı okumak için açılamıyorum (errno 6
, böyle bir aygıt yok). Ayrıca, SOCK_DGRAM
numaralı bir soketi kullanmayı denedim, ancak bu dosya zaten oluşturulmamışsa ya da bağlantı reddedilmişse dosyayı bulamıyor.
Düzenli bir dosya açmanın veya normal bir dosya gibi açılabilen bir dosya oluşturmanın ve onu "acil veri" olarak değerlendirilen iletilerin bir akışını gönderebilmenin bir yolunu bulmak istiyorum. yani MSG_OOB
.
Ne yapabilirim?
Çok havalı. Kök gereksinimi ve/proc/sys/kernel'de dokunaklı şeylerin potansiyel yan etkileri nedeniyle cevabı kabul etmeyeceğim, ancak sizin için ne istediğini sağladığını, bu yüzden sizin için lütfunu! – ToBeReplaced
Sentetik dosya sistemlerinde diğer POLLPRI örneklerini kazmak için benzer bir metodoloji kullanabilirsiniz; Bunu her zaman döndüren bir arayüz bulabilirsin - Kolay bir şey bulamadım, ama sadece birkaç dakikalığına baktım ve hangi cihazların müsait olduğunu bilmiyorum. Bu en azından biraz yardımın olduğuna sevindim! – dho
Kök gerekmeyen bir strateji, sysfs dosyaları yoklama bulundu. Belki de bu soruya tatmin edici bir cevaptır? – dho