Thread and timer callbacks accept ULONG input, which remains 32 bits on 64-bit ports. Passing a context pointer can truncate it before the callback runs, as reported in #466. The earlier discussion in #413 also raised the need to preserve existing callers.
I propose new, explicitly named creation APIs with VOID * input and matching callbacks. The current ULONG APIs would remain available, and this addition would leave queue message sizing and other ULONG semantics unchanged. The design needs to cover kernel and module paths and any control-block layout impact.
I would target Q4 2026 for the opt-in APIs, with regression coverage on 32-bit and 64-bit ports and matching API documentation. The API names and internal representation remain design decisions.
Thread and timer callbacks accept
ULONGinput, which remains 32 bits on 64-bit ports. Passing a context pointer can truncate it before the callback runs, as reported in #466. The earlier discussion in #413 also raised the need to preserve existing callers.I propose new, explicitly named creation APIs with
VOID *input and matching callbacks. The currentULONGAPIs would remain available, and this addition would leave queue message sizing and otherULONGsemantics unchanged. The design needs to cover kernel and module paths and any control-block layout impact.I would target Q4 2026 for the opt-in APIs, with regression coverage on 32-bit and 64-bit ports and matching API documentation. The API names and internal representation remain design decisions.