I'm porting LwIP to the Hurd as my Google Summer of Code project. In
our port, we're using the sockets API but we need to remove the
restriction of having a maximum amount of sockets.
I'm looking for advice on how to do this in a way it's acceptable for
upstreaming. This is my proposal:
- Add a new lwipopts.h macro to disable the restriction
- Allow enabling that macro only if MEM_LIBC_MALLOC is enabled
- When this new macro is disabled, just use the current code with the
static array of sockets
- When this new macro is enabled
- Add new pointers to struct lwip_sock to make it a linked list
- Declare "sockets" as a pointer to struct lwip_sock pointing to the
first element in the linked list
- Use mem_alloc() to allocate new sockets
- Modify alloc_socket(), free_socket(), get_socket() and
tryget_socket() to deal with the list
What do you think?
_______________________________________________
lwip-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/lwip-devel