From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24540 invoked by alias); 12 Jun 2007 23:03:00 -0000 Received: (qmail 24531 invoked by uid 22791); 12 Jun 2007 23:03:00 -0000 X-Spam-Check-By: sourceware.org Received: from quina.moeckel.org (HELO quina.moeckel.org) (217.160.223.98) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 12 Jun 2007 23:02:58 +0000 Received: from bluebird.headcrashers.bnfh (bluebird.headcrashers.org [IPv6:2001:8d8:81:a11:204:acff:fe97:190]) (authenticated bits=0) by quina.moeckel.org (8.13.8/8.13.8/Debian-3) with ESMTP id l5CN2qma006645 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Wed, 13 Jun 2007 01:02:53 +0200 Received: from executor.headcrashers.bnfh (IDENT:root@executor.headcrashers.bnfh [IPv6:2001:8d8:81:a11:209:6bff:fee0:8244]) by bluebird.headcrashers.bnfh (8.13.8/8.13.8) with ESMTP id l5CN2pah023266 for ; Wed, 13 Jun 2007 01:02:51 +0200 Received: from executor.headcrashers.bnfh (IDENT:woodstoc@localhost [127.0.0.1]) by executor.headcrashers.bnfh (8.13.8/8.13.8) with ESMTP id l5CN39nT009903 for ; Wed, 13 Jun 2007 01:03:09 +0200 (CEST) Received: (from woodstoc@localhost) by executor.headcrashers.bnfh (8.13.8/8.13.8/Submit) id l5CN39or010032 for ecos-discuss@ecos.sourceware.org; Wed, 13 Jun 2007 01:03:09 +0200 (CEST) Date: Wed, 13 Jun 2007 13:21:00 -0000 From: Hans Rosenfeld To: ecos-discuss@ecos.sourceware.org Message-ID: <20070612230309.GA4677@grumpf.hope-2000.org> References: <20070612221226.GA5082@grumpf.hope-2000.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20070612221226.GA5082@grumpf.hope-2000.org> User-Agent: Mutt/1.4.2.2i X-IsSubscribed: yes Mailing-List: contact ecos-discuss-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@ecos.sourceware.org Subject: Re: [ECOS] POSIX pause() never returns X-SW-Source: 2007-06/txt/msg00138.txt.bz2 On Wed, Jun 13, 2007 at 12:12:26AM +0200, Hans Rosenfeld wrote: > What happens here is that cyg_deliver_signals() is called through > posix_asr() -> cyg_posix_signal_asr() -> cyg_deliver_signals() while the > thread is waiting in pause(). After this the thread continues in the > while loop, calling cyg_deliver_signals() again. This call will return > false since there are no more signals pending, and the thread waits > again. I just noticed that the same applies to sigsuspend(), but this seems to have been this way all the time. Am I missing something here? -- %SYSTEM-F-ANARCHISM, The operating system has been overthrown -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss