Hi Peter,
> You just don't implement the timeouts, you implement
> "semaphores with timeout" as required by lwIP. This is the
> given interface for a multitasking O/S, and nobody keeps you
> from implementing them with whatever means you like.
Thanks; that makes sense, and is documented pretty well in sys_arch.txt. So
why is it so confusing, as evidenced by the number of questions arising here?
Here's a proposal to gain a cleaner 'apparent' separation without affecting the
architecture at all. The idea is to rename those portions of sys_arch that are
in core, so they're more obviously part of core and not sys_arch:
(1) Reserve the 'sys' prefix exclusively for functions and defines
to be provided by platform ports.
(2) Rename sys.c to task.c.
(3) Rename sys_sem_wait() to task_sem_wait().
Rename sys_mbox_fetch() to task_mbox_fetch().
(4) Rename sys_arch_sem_wait() to sys_sem_wait().
Rename sys_arch_mbox_fetch() to sys_mbox_fetch().
(5) Rename sys_timeout() to task_queue(), deconfuzzling it with timeout.
(6) Rename sys_timeouts() to sys_thread_data() and redefine it to return a
per-task block of specified-size opaque context.
Regards,
Curt
_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users