From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-Id: <200403221113.i2MBDiSe021944@antex.ru> Date: Mon, 22 Mar 2004 14:13:44 +0300 From: Sergey Pinaev To: ALT Devel discussion list Subject: =?koi8-r?B?UmU6IFtkZXZlbF0g8NLP09jCwSDQz9TF09TJ0s/XwdTY?= In-Reply-To: <405EC6D4.4060207@altlinux.ru> References: <405D423A.1070309@altlinux.ru> <20040321082426.GA2031@wrars-comp.wrarsdomain> <405D5A4E.6090906@altlinux.ru> <200403220922.i2M9MJ49018644@antex.ru> <405EC6D4.4060207@altlinux.ru> X-Mailer: stuphead ver. 0.5.5 (Alternative-cvs) (GTK+ 1.2.10; Linux 2.4.22-std-up-alt6; i686) Organization: Anteks LtD Mime-Version: 1.0 Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: 8bit X-Virus-Scanned: clamd / ClamAV version 0.67, clamav-milter version 0.66n 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 11:14:01 -0000 Archived-At: List-Archive: List-Post: 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, если я все правильно понимаю... =/ -- mail="Sergey Pinaev " url="http://`echo $mail | sed 's/.* <\(.*\)>/\1/' | sed 's/@/./'`"