Hi Jesse
Pleased to be able to help.
Anyway I think I might have found another although minor thing you
might want to consider in a new release unless I've completely misunderstood something.
_interrupt_handler enables interrupts after the isr has been called but before posting the dsr (the comments wrongly states that the dsr is called - but it is just added to the list - right ? ).
If we have an interrupt storm this means that each interrupt takes up app 76 bytes on the stack of the thread being interrupted - this might pose a problem.
Why not wait and let the eret instruction reenable ints - to prevent eating stack in case of an interrupt storm ?
The penalty would be a small latency increase, but it would allow you to decide on a stack size based only on the thread variables and function called from the thread.
As implemented you'll have to consider if interrupts could arive 'back to back' and how many times - each eating app 76 bytes.