🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Blokujący read i niepełne dane

#72942
From: heby
Date: Thu, 16 Jul 2020 14:04
31 lines
2066 bytes
Cześć.

Mam named pipe (mkfifo).

Po jednej stronie ktoś robi 1000000 == ::write (pointer, 1000000);

Po drugiej stronie ktoś robi 1000000 == ::read (pointer, 1000000);

Wszystko działa, dostaje dane.

I przychodzi kernel 5.6.x gdzie "coś naprawiono w rurkach".

https://www.phoronix.com/scan.php?page=news_item&px=Linux-Pipe-Parallel-Job-Opt

I teraz, ku mojemy zdziwieniu, dostaje:

size = ::read (pointer, 1000000);

Gdzie size jest 61578.

Coś podejrzanie blisko rozmiarowi bufora rurki, czyli 64k.

Manula klęczy na kolanach i zapewnia mnie że read w trybie bookującym 
nigdy nie wyjdzie z innym size niż kiedy jest fatal lub INTR, ale nawet 
wtedy size jest -1. Stackoverflow nieśmiało mu przytakuje.

A tu read wychodzi sobie w połowie czytania zwracając częśc danych ...

O rzesz...

Ja mam buga/zaćmienie czy Torvalds odwalł dziadówę w kernelu?
Technical Details
Message-ID: <repmov$olv$1@dont-email.me>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!feeder2.ecngs.de!ecngs!feeder.ecngs.de!border1.nntp.ams1.giganews.com!nntp.giganews.com!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!feeder2.ecngs.de!ecngs!feeder.ecngs.de!border1.nntp.ams1.giganews.com!nntp.giganews.com!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: heby <heby@poczta.onet.pl>
Newsgroups: pl.comp.os.linux.programowanie
Subject: Blokujący read i niepełne dane
Date: Thu, 16 Jul 2020 16:04:13 +0200
Organization: A noiseless patient Spider
Lines: 31
Message-ID: <repmov$olv$1@dont-email.me>
Mime-Version: 1.0
Injection-Date: Thu, 16 Jul 2020 14:04:16 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="ec8d2bb2ab684d0e6ea3c0f7105bd15c"; logging-data="25279"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+lJSU1TYbxoIUquaWhjPFR"
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0
Cancel-Lock: sha1:bDS99q+hhisyDJ5GMPKnQiXI9sc=
X-Mozilla-News-Host: snews://news.eternal-september.org:563
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit