Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.os.linux.programowanie > #2200
| From | heby <heby@poczta.onet.pl> |
|---|---|
| Newsgroups | pl.comp.os.linux.programowanie |
| Subject | Blokujący read i niepełne dane |
| Date | 2020-07-16 16:04 +0200 |
| Organization | A noiseless patient Spider |
| Message-ID | <repmov$olv$1@dont-email.me> (permalink) |
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?
Back to pl.comp.os.linux.programowanie | Previous | Next — Next in thread | Find similar
Blokujący read i niepełne dane heby <heby@poczta.onet.pl> - 2020-07-16 16:04 +0200
Re: Blokujący read i niepełne dane Bogdan <bogdan@poczta.gazeta.pl> - 2020-08-02 17:05 +0200
Re: Blokujący read i niepełne dane heby <heby@poczta.onet.pl> - 2020-08-02 17:47 +0200
Re: Blokujący read i niepełne dane queequeg@trust.no1 (Queequeg) - 2020-08-03 09:07 +0000
Re: Blokujący read i niepełne dane heby <heby@poczta.onet.pl> - 2020-08-04 11:35 +0200
Re: Blokujący read i niepełne dane queequeg@trust.no1 (Queequeg) - 2020-08-04 10:07 +0000
Re: Blokujący read i niepełne dane heby <heby@poczta.onet.pl> - 2020-08-04 19:20 +0200
Re: Blokujący read i niepełne dane queequeg@trust.no1 (Queequeg) - 2020-08-04 19:54 +0000
csiph-web