Skip to content
This repository was archived by the owner on Aug 23, 2024. It is now read-only.

Latest commit

 

History

History
 
 

Used with esp-idf, libcurl needs some paches.

The problem with Connection already in progress is caused by the fact that the lwip sockets starts at LWIP_SOCKET_OFFSET.

FD_SET/FD_GET macros take this into account when operating on fd sets: LWIP_SOCKET_OFFSET is subtracted from fd number, and the resulting value as used as bit offset in fd set.

In curl (file lib/select.h), the macro #define VALID_SOCK(s) (((s) >= 0) && ((s) < FD_SETSIZE)) checks the valid socket and fails with esp-idf lwip socket.

This macro has to be changed to:

#define VALID_SOCK(s) (((s) - LWIP_SOCKET_OFFSET >= 0) && ((s) - LWIP_SOCKET_OFFSET < FD_SETSIZE))

then everything works as expected.

Only directories lib and include from curl repository needs to be used.