Article View: pl.comp.os.linux.programowanie
Article #72844Re: Czekanie na wolny bufor portu szeregowego - co robię źle?!?
From: Adam Wysocki
Date: Tue, 10 Jul 2018 09:47
Date: Tue, 10 Jul 2018 09:47
32 lines
2379 bytes
2379 bytes
spryciarzsprytny7@gmail.com wrote: >> Funkcja select() i pochodne usuwają deskryptory ze zbiorów. > > Jak możesz tak pisać, skoro select/pselect zwraca liczbę gotowych do > pracy deskryptorów i one są w tej strukturze fd_set - sprawdza się je > makrem FD_ISSET(). Inna sprawa: co w sytuacji gdy ta struktura ponownie > zostanie podana do pselect/slelect gdy ma już ustawiony bit "set". No właśnie. select() modyfikuje przekazany fd_set tak, żeby ustawione były tam jedynie deskryptory, na których wystąpiła aktywność. Inne są zerowane. Jak struktura zostanie przekazana ponownie to select() weźmie pod uwagę tylko te deskryptory, które mają ustawioną flagę w fd_set czyli te, których aktywność zwrócił poprzedni select(). To prawie na pewno nie jest to, co chcesz osiągnąć. Zawsze na nowo dodawaj deskryptory do fd_set przed wywołaniem select(). > Upon successful completion, the pselect() and select() functions shall > return the total number of bits set in the bit masks. > > Co to za maska bitowa?!? > Czy to to samo co: "zwraca liczbę deskryptorów gotowych do pracy"?!? Tak. fd_set może być zaimplementowany jako tablica masek bitowych. -- [ Email: a@b a=grp b=chmurka.net ] [ Web: http://www.chmurka.net/ ]
Technical Details
Message-ID:
<pi1vc7$dif$4$gof@news.chmurka.net>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.pi.v.chmurka.net!not-for-mailReferences:
<691200d3-8311-4c65-a7a5-f3f0820760c6@googlegroups.com> <5b40c2ff$0$602$65785112@news.neostrada.pl> <141fafeb-65fd-4782-a555-5d29960b3f1c@googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.pi.v.chmurka.net!not-for-mail
From: gof@somewhere.invalid (Adam Wysocki)
Newsgroups: pl.comp.os.linux.programowanie
Subject: Re: Czekanie na wolny bufor portu szeregowego - co
robię źle?!?
Date: Tue, 10 Jul 2018 09:47:51 +0000 (UTC)
Organization: news.chmurka.net
Message-ID: <pi1vc7$dif$4$gof@news.chmurka.net>
References: <691200d3-8311-4c65-a7a5-f3f0820760c6@googlegroups.com> <5b40c2ff$0$602$65785112@news.neostrada.pl> <141fafeb-65fd-4782-a555-5d29960b3f1c@googlegroups.com>
NNTP-Posting-Host: pi.v.chmurka.net
Mime-Version: 1.0
Injection-Date: Tue, 10 Jul 2018 09:47:51 +0000 (UTC)
Injection-Info: news.chmurka.net; posting-account="gof"; posting-host="pi.v.chmurka.net:172.24.44.20"; logging-data="13903"; mail-complaints-to="abuse-news.(at).chmurka.net"
User-Agent: tin/2.4.1-20161224 ("Daill") (UNIX) (Linux/4.4.50-v7+ (armv7l))
Cancel-Lock: sha1:Svp0GF51A0OMZ9OAMBbVr4Fy+AU=
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit