🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.os.linux.programowanie
Article #72992

Re: ::read i ::poll

#72992
From: michal.lyszczek
Date: Thu, 05 Nov 2020 10:45
22 lines
2024 bytes
On 2020-11-04 10:31:56, heby wrote:
> Rozwiązanie okazało się proste: użyć ::poll. Czeka on aż pojawią się jakieś
> dane do odczytu, ale ma też timeout po którym zwraca mi sterowanie i to
> załatwia temat przerywalnosci odczytu.
>
> I wszystki super działa, tylko jest ... znacznie wolniejsze. Wywołanie
> ::read jest szybsze niż pary ::poll->::read. No i co z tym teraz zrobić?
> Jest jakaś inna metoda na posiadanie blokującego ::read ale jednocześnie
> możliwosci przerwania tego read na żądanie?

Najprościej będzie wysłać sygnał do konkretnego wątku przy pomocy
pthread_kill(3). Jak kod ma być przenośny między unixami, należy
pamiętać by wyłączyć SA_RESTART na systemach z rodziny BSD przy
pomocy siginterrupt(3).

-- 
.-----------------.-------------------.---------------------.------------------.
| Michal Lyszczek | Embedded C, Linux |   Company Address   |  .-. open source |
| +48 727 564 419 | Software Engineer | Leszczynskiego 4/29 |  oo|  supporter  |
| https://bofc.pl `----.--------------: 50-078 Wroclaw, Pol | /`'\      &      |
| GPG FF1EBFE7E3A974B1 | Bits of Code | NIP:  813 349 58 78 |(\_;/) programer  |
`----------------------^--------------^---------------------^------------------'
Technical Details
Message-ID: <20201105104532.zdht7h4fy4vutyah@marchewa.redembedded.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!news2.arglkargh.de!news.mixmin.net!aioe.org!.POSTED.Dv7bhxWG68Wvha0HTDCvvg.user.gioia.aioe.org!not-for-mail
References: <rntsee$3b1$1@dont-email.me>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!news2.arglkargh.de!news.mixmin.net!aioe.org!.POSTED.Dv7bhxWG68Wvha0HTDCvvg.user.gioia.aioe.org!not-for-mail
From: michal.lyszczek@bofc.pl
Newsgroups: pl.comp.os.linux.programowanie
Subject: Re: ::read i ::poll
Date: Thu, 5 Nov 2020 11:45:32 +0100
Organization: Aioe.org NNTP Server
Lines: 59
Message-ID: <20201105104532.zdht7h4fy4vutyah@marchewa.redembedded.pl>
References: <rntsee$3b1$1@dont-email.me>
NNTP-Posting-Host: Dv7bhxWG68Wvha0HTDCvvg.user.gioia.aioe.org
Mime-Version: 1.0
X-Complaints-To: abuse@aioe.org
X-Notice: Filtered by postfilter v. 0.9.2
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit