🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: ::read i ::poll

#72993
From: heby
Date: Thu, 05 Nov 2020 11:57
23 lines
1932 bytes
On 05/11/2020 11:45, michal.lyszczek@bofc.pl wrote:
> Najprościej będzie wysłać sygnał do konkretnego wątku przy pomocy
> pthread_kill(3).

Co z taką sytuacją:
{
  ...
  std::mutex::scoped_lock lock(mutex);
   ...
  ::read(...)
}

Zakładając że zainstaluje globalny handler sygnałów (co już jest błędem 
projektowym, może nie tylko ten wątek go potrzebuje), czy mogę wsyłać 
coś co spowoduje że ::read wyskoczy z EINTR?

> 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).

No i tu właśnie jest problem. To ogromna apliakcja. Z powodu kilku 
::read mam manipulować krytyczm, globlanym stanem aplikacji? Brzmi jak 1 
z kolokwium z inżynierii programowania.
Technical Details
Message-ID: <ro0pai$b5d$1@dont-email.me>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.samoylyk.net!aioe.org!eternal-september.org!feeder.eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
References: <rntsee$3b1$1@dont-email.me> <20201105104532.zdht7h4fy4vutyah@marchewa.redembedded.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.samoylyk.net!aioe.org!eternal-september.org!feeder.eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: heby <heby@poczta.onet.pl>
Newsgroups: pl.comp.os.linux.programowanie
Subject: Re: ::read i ::poll
Date: Thu, 5 Nov 2020 12:57:04 +0100
Organization: A noiseless patient Spider
Lines: 23
Message-ID: <ro0pai$b5d$1@dont-email.me>
References: <rntsee$3b1$1@dont-email.me> <20201105104532.zdht7h4fy4vutyah@marchewa.redembedded.pl>
Mime-Version: 1.0
Injection-Date: Thu, 5 Nov 2020 11:57:06 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="ead3770d27c28f2726beb2f50b568996"; logging-data="11437"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19PaWMrz4yvuPmbT61gdZOC"
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.12.1
Cancel-Lock: sha1:T90RhSKG2g5pQf4CbQLH1Ll0OvQ=
In-Reply-To: <20201105104532.zdht7h4fy4vutyah@marchewa.redembedded.pl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit