8007312: null check signal semaphore in os::signal_notify windows

Reviewed-by: dholmes, sla
This commit is contained in:
Markus Grönlund 2013-02-13 11:23:46 +01:00
parent ef7aa05f20
commit 7d28698730

View file

@ -1940,7 +1940,7 @@ int os::sigexitnum_pd(){
// a counter for each possible signal value, including signal_thread exit signal
static volatile jint pending_signals[NSIG+1] = { 0 };
static HANDLE sig_sem;
static HANDLE sig_sem = NULL;
void os::signal_init_pd() {
// Initialize signal structures
@ -1970,11 +1970,12 @@ void os::signal_init_pd() {
void os::signal_notify(int signal_number) {
BOOL ret;
if (sig_sem != NULL) {
Atomic::inc(&pending_signals[signal_number]);
ret = ::ReleaseSemaphore(sig_sem, 1, NULL);
assert(ret != 0, "ReleaseSemaphore() failed");
}
}
static int check_pending_signals(bool wait_for_signal) {
DWORD ret;