Implementing non-blocking sockets and select

Hi, I'm trying to port olsrd2 to RIOT, it assumes to have non-blocking sockets available and select() over them. This is not possible in RIOT yet, but would be an interesting feature to make RIOT more compatible with POSIX systems. How would you suggest to implement select and setsockopt (possibly in a very stripped down version), or maybe work around it if it's not foreseeable in the near future?

regards Benjamin

Hi, since I neet select() and setsockopt() for libcoap, too, those two should be available in a few days :wink:

regards, Martin

Hi Martin, hi Benjamin,

since I neet select() and setsockopt() for libcoap, too, those two should be available in a few days :wink:

could you tell us a bit more in detail about how you're going to implement these features?

Actually I had some thoughts and discussions with Ludwig about this topic and we concluded that it would make sense to extend the kernel IPC by some features: - allow for asynchronous message reception (so far only asynchronous message   sending is possible) - adding functions for sending and receiving with a timeout parameter

This should allow a nice select() implementation and will be probably handy for a lot of other tasks.

I planned to implement these features in the next days.

Cheers, Oleg