Am 15.11.2021 um 18:03 schrieb Grant Edwards:
Is it required that sys_thread_t be a pointer or integer type?
The documentation doesn't state that. The example implementation at
https://lwip.fandom.com/wiki/Porting_for_an_OS#Threads shows it as a
struct, and in the freeRTOS port it's a struct.
But the test code assumes it's a pointer or integer type:
430 static void
431 sockets_stresstest_conn_client(void *arg)
432 {
...
456 if (LWIP_RAND() & 1) {
457 sys_thread_t t;
...
463 t = sys_thread_new("sockets_stresstest_conn_client_r",
sockets_stresstest_conn_client_r, data, 0, 0);
464 LWIP_ASSERT("thread != NULL", t != 0);
That should probably be changed to use 'sys_thread_valid()' (which does
not exist yet). The ' != 0' test is clearly not portable: any type
should work.
Regards,
Simon
...
466 }
The expression 't != 0' at line 464 is legal only if sys_thread_t is a
pointer or integer type.
_______________________________________________
lwip-users mailing list
lwip-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/lwip-users