equal
deleted
inserted
replaced
2122 } |
2122 } |
2123 ourSigFlags = (int*)malloc(sizeof(int) * (Maxsignum + 1), mtInternal); |
2123 ourSigFlags = (int*)malloc(sizeof(int) * (Maxsignum + 1), mtInternal); |
2124 memset(ourSigFlags, 0, sizeof(int) * (Maxsignum + 1)); |
2124 memset(ourSigFlags, 0, sizeof(int) * (Maxsignum + 1)); |
2125 } |
2125 } |
2126 |
2126 |
2127 void os::signal_init_pd() { |
2127 static void jdk_misc_signal_init() { |
2128 // Initialize signal semaphore |
2128 // Initialize signal semaphore |
2129 sig_sem = new Semaphore(); |
2129 sig_sem = new Semaphore(); |
2130 } |
2130 } |
2131 |
2131 |
2132 void os::signal_notify(int sig) { |
2132 void os::signal_notify(int sig) { |
2133 if (sig_sem != NULL) { |
2133 if (sig_sem != NULL) { |
2134 Atomic::inc(&pending_signals[sig]); |
2134 Atomic::inc(&pending_signals[sig]); |
2135 sig_sem->signal(); |
2135 sig_sem->signal(); |
2136 } else { |
2136 } else { |
2137 // Signal thread is not created with ReduceSignalUsage and signal_init_pd |
2137 // Signal thread is not created with ReduceSignalUsage and jdk_misc_signal_init |
2138 // initialization isn't called. |
2138 // initialization isn't called. |
2139 assert(ReduceSignalUsage, "signal semaphore should be created"); |
2139 assert(ReduceSignalUsage, "signal semaphore should be created"); |
2140 } |
2140 } |
2141 } |
2141 } |
2142 |
2142 |
4241 } |
4241 } |
4242 |
4242 |
4243 Solaris::signal_sets_init(); |
4243 Solaris::signal_sets_init(); |
4244 Solaris::init_signal_mem(); |
4244 Solaris::init_signal_mem(); |
4245 Solaris::install_signal_handlers(); |
4245 Solaris::install_signal_handlers(); |
|
4246 // Initialize data for jdk.internal.misc.Signal |
|
4247 if (!ReduceSignalUsage) { |
|
4248 jdk_misc_signal_init(); |
|
4249 } |
4246 |
4250 |
4247 // initialize synchronization primitives to use either thread or |
4251 // initialize synchronization primitives to use either thread or |
4248 // lwp synchronization (controlled by UseLWPSynchronization) |
4252 // lwp synchronization (controlled by UseLWPSynchronization) |
4249 Solaris::synchronization_init(); |
4253 Solaris::synchronization_init(); |
4250 |
4254 |