1. A non-transitory computer readable medium having computer-executable instructions which, when executed by a processor, cause a processing system to perform: registering a coordinator process with a checkpoint kernel module; launching a plurality of independent applications, each including a plurality of threads, as an application group via the coordinator, wherein launching an application via the coordinator causes the launched application to load a user-space checkpoint library; wherein an application loading the checkpoint library comprises installing a plurality of function interceptors including at least wait function interceptors which together are configured to intercept system calls made by the threads of the loading application during execution, and, in response to intercepting a system call from a calling thread and determining the coordinator has initiated a group checkpoint, are configured to cause the calling thread to block and wait in an alertable state; initiating a group checkpoint of the application group via the coordinator causing each of the independent applications to send a kernel-mode checkpoint signal to each thread of the application; and responsive to receiving the kernel-mode checkpoint signal, the receiving thread performs steps comprising: determining the receiving thread was active in kernel-space at the time the kernel-mode signal was received utilizing kernel attributes directly accessible from a checkpoint signal handler; and inserting a user-mode checkpoint signal at the front of a signal queue of the receiving thread and returning from the checkpoint signal handler in response to the determining that the receiving thread was active in kernel-space, wherein a user-mode signal is only processed by a signaled thread when the signaled thread waits in the alertable state.