162 "VTALRM", SIGVTALRM, /* Virtual alarm clock (4.2 BSD). */
163 "PROF", SIGPROF, /* Profiling alarm clock (4.2 BSD). */
164 "WINCH", SIGWINCH, /* Window size change (4.3 BSD, Sun). */
165 "INFO", SIGINFO, /* Information request. */
166 "USR1", SIGUSR1, /* User-defined signal 1 (POSIX). */
167 "USR2", SIGUSR2 /* User-defined signal 2 (POSIX). */
168 };
169
170 JVM_ENTRY_NO_ENV(jint, JVM_FindSignal(const char *name))
171
172 /* find and return the named signal's number */
173
174 for(uint i=0; i<ARRAY_SIZE(siglabels); i++)
175 if(!strcmp(name, siglabels[i].name))
176 return siglabels[i].number;
177
178 return -1;
179
180 JVM_END
181
182 // used by os::exception_name()
183 extern bool signal_name(int signo, char* buf, size_t len) {
184 for(uint i = 0; i < ARRAY_SIZE(siglabels); i++) {
185 if (signo == siglabels[i].number) {
186 jio_snprintf(buf, len, "SIG%s", siglabels[i].name);
187 return true;
188 }
189 }
190 return false;
191 }
|
162 "VTALRM", SIGVTALRM, /* Virtual alarm clock (4.2 BSD). */
163 "PROF", SIGPROF, /* Profiling alarm clock (4.2 BSD). */
164 "WINCH", SIGWINCH, /* Window size change (4.3 BSD, Sun). */
165 "INFO", SIGINFO, /* Information request. */
166 "USR1", SIGUSR1, /* User-defined signal 1 (POSIX). */
167 "USR2", SIGUSR2 /* User-defined signal 2 (POSIX). */
168 };
169
170 JVM_ENTRY_NO_ENV(jint, JVM_FindSignal(const char *name))
171
172 /* find and return the named signal's number */
173
174 for(uint i=0; i<ARRAY_SIZE(siglabels); i++)
175 if(!strcmp(name, siglabels[i].name))
176 return siglabels[i].number;
177
178 return -1;
179
180 JVM_END
181
|