This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: SIGURG, SIGIO and BSD stack
- From: Andrew Lunn <andrew at lunn dot ch>
- To: Alexander Aganichev <aaganichev at gmail dot com>
- Cc: ecos-discuss at ecos dot sourceware dot org
- Date: Mon, 11 May 2009 12:36:14 +0200
- Subject: Re: [ECOS] SIGURG, SIGIO and BSD stack
- References: <c25335bc0905110316g5cb6eabame93dd1b8d4735294@mail.gmail.com>
On Mon, May 11, 2009 at 02:16:31PM +0400, Alexander Aganichev wrote:
> Hello!
>
> I wonder what was the intension to hide sending of SIGURG signal under
> #ifndef __ECOS in the BSD stack? I also see that sending of SIGIO
> signal is not present in BSD stack and hidden in OpenBSD stack.
>
> I have a software that make use of both these signals and I need to
> port it to ECOS. So, I wonder what is the easiest way? Is there
> anything dangerous in removing these #ifdef's?
I'm not an expert in this area of eCos, but signals only work on POSIX
threads, not native eCos threads. You need to ensure your code which
uses the TCP/IP stack and handles signals is a POSIX thread, not an
eCos native thread.
You will also need to implement the signal code needed by the
stack. csignal() is an internal BSD kernel function, not a standard
signal function. Some modifications will be needed here. You will also
need to see if so->so_pgid, so->so_siguid, so->so_sigeuid contain
anything useful. eCos does not really have the concept of uids, pgid
etc... So it might not be clear who to deliver the signal to...
Andrew
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss