This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: SIGURG, SIGIO and BSD stack
On Mon, May 11, 2009 at 2:36 PM, Andrew Lunn <andrew@lunn.ch> wrote:
> On Mon, May 11, 2009 at 02:16:31PM +0400, Alexander Aganichev wrote:
>> 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.
The program depends on POSIX threads, so it's not a problem.
> 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...
But these might be. I will look further. Thank you very much for clearing.
--
WBR, Alexander
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss