Linux'taki (akışsız) bir soketten okurken, en son alınan iletinin (donanım tarafından oluşturulan) zaman damgasını ioctl(sock, SIOCGSTAMP, &tv)
aracılığıyla edinebilirim. Ancak, bu iki sorunlara yol açmaktadır:Yuva okuma ve zaman damgaları
- Başka syscall (Ben saniyede yaklaşık 24000 iletiler alıyorum, bu yüzden her syscall ihbari) bir de
- Eğer bu yaklaşımı kullanarak, elimden sadece
read()
bir mesaj zaman damgasını almak içinioctl()
takip edin. (Benioctl
aşağıdaki sadece son mesajın zaman damgası verir, birread()
çağırın birden fazla mesaj okuyorsam.)
Sorum olduğunca az sistem çağrıları mesajları ve bunların damgaları alma ulaşmak için nasıl olabildiğince. "Beklemedeki mesajları ve zaman damgalarını oku" gibi anlambilimsel bir sistem varsa mükemmel olurdu.
Sistem sorununuza bir çözüm buldunuz mu? –
Aşağıdaki kabul edilen çözüm bir çözümdür; Sadece eski çekirdek versiyonumdan dolayı kullanamadım. – pmf