From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Sender: msp@blard.localdomain To: ALT Devel discussion list Subject: Re: [devel] =?koi8-r?b?8NLP09jCwSDQz9TF09TJ?= =?koi8-r?b?0s/XwdTY?= References: <405D423A.1070309@altlinux.ru> <20040321082426.GA2031@wrars-comp.wrarsdomain> <405D5A4E.6090906@altlinux.ru> <200403220922.i2M9MJ49018644@antex.ru> <405EC6D4.4060207@altlinux.ru> <200403221113.i2MBDiSe021944@antex.ru> From: Michael Pozhidaev Date: 22 Mar 2004 18:55:18 +0600 In-Reply-To: <200403221113.i2MBDiSe021944@antex.ru> Message-ID: User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 8bit X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.1.4 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Mar 2004 12:58:45 -0000 Archived-At: List-Archive: List-Post: Sergey Pinaev writes: > hi. > On Mon, 22 Mar 2004 16:58:28 +0600 > Michael Pozhidaev wrote: > > >> Подозреваю, что это из-за того, что mp у тебя не volatile. > >> > MP> Можно подробнее, не понял. > > Ну у тебя там описано pid_t mp глобально, и ему присваивается > значение в одной функции, а используется в другой. > Правда у тебя функции последовательно вызываются и ситуации, > когда "вторая" вызовется в середине первой не возникнет, так > что это, не причем. > У тебя получается, что play() запускает дитё (mp), которое запускает > дите (pp) и ждет его смерти. А stop() убивает mp и ждет смерти > кого-нибудь с идентификатором группы как у mp. Соответственно, > если в дите (mp) приехал сигнал "умри" он сразу из waitpid() > вывалится, не дожидаясь, пока pp умрет. И pp окажется zombie, > если я все правильно понимаю... =/ Судя по всему, так и происходит. Я думаю избавиться от этого путём убирания WNOHANG из вызова waitpid(). -- Best wishes. Michael Pozhidaev. E-mail: msp@altlinux.ru. Tomsk state university. Computer science department. (http://www.inf.tsu.ru)