sigalarm has 1 second granularity. I need something in the millisecond or better range.
The nice thing about the pigpio implmentation is that (I think) it uses hardware to do PWM on a GPIO. I think that means once started, a pulse on the GPIO will not be pre-empted by anything done in the kernel.
The ISR associated with the GPIO transition might be delayed--but in what I'm seeing, the ISR ALWAYS runs much closer to the scheduled time than what I can achieve with a 1 millisecond poll loop.
So, while I think I can do what I need with a pigpio wave and ISR, I thought there might be a way to do something similar to what's done in the library code without requiring an GPIO to be toggled. But, maybe that's the only way the PWM hardware can be exploited.