Boreas wraps the dlist sentinel as struct _dlist { sys_dnode_t head } (sys/dlist.h); upstream Zephyr uses the sentinel-as-node trick (typedef struct _dnode sys_dlist_t). Ported code that pokes list->head or relies on (sys_dnode_t *)&list breaks silently.
Preferred fix: match upstream's layout (the k_work dlist rewrite, #24, benefits directly). Fallback: document the shape divergence in the header with a loud @note.
Related low-priority gaps, add as needed: sys_dlist_is_head, _is_tail, _has_multiple_nodes, _dequeue, _insert_at; sys_slist_append_list, _merge_slist, _insert, _get_not_empty, _find.
Boreas wraps the dlist sentinel as
struct _dlist { sys_dnode_t head }(sys/dlist.h); upstream Zephyr uses the sentinel-as-node trick (typedef struct _dnode sys_dlist_t). Ported code that pokeslist->heador relies on(sys_dnode_t *)&listbreaks silently.Preferred fix: match upstream's layout (the k_work dlist rewrite, #24, benefits directly). Fallback: document the shape divergence in the header with a loud
@note.Related low-priority gaps, add as needed:
sys_dlist_is_head,_is_tail,_has_multiple_nodes,_dequeue,_insert_at;sys_slist_append_list,_merge_slist,_insert,_get_not_empty,_find.