Am 7. August 2017 22:16:54 MESZ schrieb "address@hidden" <address@hidden>:
The proposal doesn't look too bad overall. However, I'm not sure using a
linked list is the best solution. If you implement this to not have the
total number of sockets limited, a linked list might hurt...
An I wouldn't limit the "open socket count" functionality to
MEM_LIBC_MALLOC. We do have a heap which can be used for this.
Another thing you need to consider is FD_SET, which is currently
implemented as bit field.
Cheers,
Simon
Joan Lledó wrote:
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
lwip-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/lwip-devel