Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
12603 Discussions

non-blocking LWIP Ethernet Socket

Altera_Forum
Honored Contributor II
1,416 Views

Has anyone been able to setup a socket non-blocking with LWIP on uC/OS-II? 

 

I have found that the fcntl() is not supported. 

 

My application is using the socket as a control channel that I check every time I go through my application.
0 Kudos
3 Replies
Altera_Forum
Honored Contributor II
623 Views

You are correct that there is no fcntl() for LWIP. However there is a handy ioctl which will do what you want FIONBIO. 

 

The syntax is to set non blocking 

int fred = 1; 

ioctlsocket(your_socket,FIONBIO,&fred) 

 

Simply set fred to 0 for blocking. 

 

I've not tested this, so caveat emptor
0 Kudos
Altera_Forum
Honored Contributor II
623 Views

Have a look at the web server example design that ships with Nios II. This uses LWIP on uCOS and the HTTP server uses non-blocking IO (for the most part) to send web content back to the client.

0 Kudos
Altera_Forum
Honored Contributor II
623 Views

Thanks for the help.  

 

The FIONBIO with the ioctl worked great for my code.
0 Kudos
Reply