Socket_connect implementation in mbed-os

We noticed that socket_connect() implementation in LWIPStack.cpp performs a blocking connect call to the underlying LWIP netconn API. Due to this, our application connectivity thread using mbed-os TLSSocket APIs hangs for sometime trying to connect to our backend. The default semaphore wait timeout also seems to be set to infinite.

Is there a specific reason for choosing blocking vs. non-blocking implementation for netconn_connect API?

Sorry, I need a Socket connect() timeout function.
30 second lock out delay trying to connect to a dead IP is a big problem for me.
I have added an issue on Github.

https://github.com/ARMmbed/mbed-os/issues/13056