🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

waitpid i proces zakończony - nie dziala jak oczekuję

#72965
From: heby
Date: Wed, 26 Aug 2020 11:18
23 lines
2033 bytes
Cześć.

Przyłapałem moją aplikację na takiej sytuacji:

Proces A: zawieszony w funkcji waitpid( numer )

Proces B o numerze "numer": <defunct>

Niepokoi mnie że waitpid służy do oczekiwania na *zmianę* statusu 
procesu potomnego. A ja chce czekać aż proces wyjdzie. nawet jeśli to 
czekanie rozpoczynam jak już wyszedł.

Zaznaczam że gdyby to była prawda (waitpid nie może czekać na zakończony 
proces), to nie widzę rozwiązania bez race condition. Czy mam rację 
podejrzewając że waitpid moze nie zauwazyć procesu który jest martwy w 
momencie wołania? Jak to się poprawnie rozwiązuje?

PS. Dokumentacja mówi jednak że "jesli proces już zmienił stan to 
natychmiast wyjdzie" Hmm... no więc czeka nie wiem na co a proces jest 
po exicie.

PS2. Drugi proces powstał w wyniku forka, ale nie dał rady odpalić execv 
i wyszedł natychmiast za pomoca exit().
Technical Details
Message-ID: <ri5gf5$s71$1@dont-email.me>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!2.eu.feeder.erje.net!feeder.erje.net!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!3.eu.feeder.erje.net!2.eu.feeder.erje.net!feeder.erje.net!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: waitpid i proces zakończony - nie dziala jak
 oczekuję
Date: Wed, 26 Aug 2020 13:18:54 +0200
Organization: A noiseless patient Spider
Lines: 23
Message-ID: <ri5gf5$s71$1@dont-email.me>
Mime-Version: 1.0
Injection-Date: Wed, 26 Aug 2020 11:19:01 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="f4891ae31847ac5a1b1654a5c6b7608c"; logging-data="28897"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+B+Bl20ULEWpd4xludPCq4"
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0
Cancel-Lock: sha1:TocN6gh/+iIjGWzlYu4BEaW9LYU=
X-Mozilla-News-Host: snews://news.eternal-september.org:563
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit