I have a Windows C++ console program, and if I don't call ReleaseDriver()
at the end of my program, some pieces of hardware enter a bad state and can't be used again without rebooting.
I'd like to make sure ReleaseDriver()
gets runs even if the program exits abnormally, for example if I hit Ctrl+C
or close the console window.
I can use signal()
to create a signal handler for SIGINT
. This works fine, although as the program ends it pops up an annoying error "An unhandled Win32 exception occurred...".
I don't know how to handle the case of the console window being closed, and (more importantly) I don't know how to handle exceptions caused by bad memory accesses etc.
Thanks for any help!