From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8560 invoked by alias); 22 Oct 2003 17:14:07 -0000 Mailing-List: contact ecos-discuss-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@sources.redhat.com Received: (qmail 8551 invoked from network); 22 Oct 2003 17:14:07 -0000 Received: from unknown (HELO anchor-post-37.mail.demon.net) (194.217.242.87) by sources.redhat.com with SMTP; 22 Oct 2003 17:14:07 -0000 Received: from calivar.demon.co.uk ([212.228.213.211] helo=miso.calivar.com) by anchor-post-37.mail.demon.net with esmtp (Exim 3.35 #1) id 1ACMYd-0009V0-0b; Wed, 22 Oct 2003 18:14:04 +0100 Received: from miso.calivar.com (miso.calivar.com [127.0.0.2]) by miso.calivar.com (Postfix) with ESMTP id 57E8728DF45; Wed, 22 Oct 2003 18:14:02 +0100 (BST) To: Matt Jerdonek Cc: Andrew Lunn , Discussion eCos References: <20031022160616.6689.qmail@web14204.mail.yahoo.com> From: Nick Garnett Date: Wed, 22 Oct 2003 17:14:00 -0000 In-Reply-To: <20031022160616.6689.qmail@web14204.mail.yahoo.com> Message-ID: User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Subject: Re: [ECOS] TCP close(...) action X-SW-Source: 2003-10/txt/msg00399.txt.bz2 Matt Jerdonek writes: > > If you re-write your test program to use POSIX > > threads, it should then be possible to run it on > > linux, SunOS, *BSD etc. We can then decide if this > > is right or wrong. > > > > Andrew > > > > -- > > > I ran the program on linux and got the same result > (the close did not wake the recv). So, I guess that > eCos is behaving correctly. Given that the eCos file handling model is almost identical to that of Linux, BSD and any other Unix variant, I would expect that they would all behave in much the same way. > > As I mentioned before, I have a workaround using > cyg_thread_release(..). Does anyone know of a POSIX > method for waking the recv other than ending and > restarting the thread? You might be able to do something fancy using select() in place of the recv(). Signalling a select()ing thread should work -- although that is essentially just the same as the cyg_thread_release() you are already doing. -- Nick Garnett eCos Kernel Architect http://www.ecoscentric.com The eCos and RedBoot experts -- Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos and search the list archive: http://sources.redhat.com/ml/ecos-discuss