[ECOS] Select break?
Jay Foster
jay@systech.com
Thu Oct 11 15:24:00 GMT 2012
Just because eCos does not have a pipe or socketpair feature does not
mean that you cannot use an additional pair of sockets. Add another
socket (UDP on the loopback interface) to listen on in your select()
call. Add another socket (UDP) to send messages to it using sendto().
You can bind the listening socket to the loopback interface with any
port number (0) and use the getsockname() function to retrieve the
actual bound socket address. This address can be used in the sendto()
calls.
Jay
On 10/11/2012 1:51 AM, Allan Nielsen wrote:
> Hi,
>
> Is there any way I can wakeup a select call from an other thread?
>
> I'm using eCos threads (not posix threads), so sending a signal using
> pthread_kill does not seem to be an option.
>
> I would have guessed that I could create a file descriptor pair using
> pipe, or socketpair, include this in the select list, and write some
> dummy data. But since eCos does not implement either pipe or
> socketpair, this does not seem to be an option either.
>
> I have tried to use the cyg_selrecord and the cyg_selwakeup functions,
> but they only cause the select function to poll the file descriptors
> again.
>
> So how can this be done using eCos threads?
>
> Best regards
> Allan W. Nielsen
>
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
More information about the Ecos-discuss
mailing list