Mercurial > emacs
comparison src/process.c @ 74420:7f2e7cb6b161
(parse_signal): Rename macro from handle_signal.
(Fsignal_process): Also accept lower-case variants of signal
names (to align with signal names generated by Emacs itself).
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Mon, 04 Dec 2006 15:21:39 +0000 |
parents | 6bc8bd6fe72c |
children | 7714fd14ce36 f1d13e615070 |
comparison
equal
deleted
inserted
replaced
74419:9d28e2b1c05c | 74420:7f2e7cb6b161 |
---|---|
6145 if (pid <= 0) | 6145 if (pid <= 0) |
6146 error ("Cannot signal process %s", SDATA (XPROCESS (process)->name)); | 6146 error ("Cannot signal process %s", SDATA (XPROCESS (process)->name)); |
6147 | 6147 |
6148 got_it: | 6148 got_it: |
6149 | 6149 |
6150 #define handle_signal(NAME, VALUE) \ | 6150 #define parse_signal(NAME, VALUE) \ |
6151 else if (!strcmp (name, NAME)) \ | 6151 else if (!strcasecmp (name, NAME)) \ |
6152 XSETINT (sigcode, VALUE) | 6152 XSETINT (sigcode, VALUE) |
6153 | 6153 |
6154 if (INTEGERP (sigcode)) | 6154 if (INTEGERP (sigcode)) |
6155 ; | 6155 ; |
6156 else | 6156 else |
6158 unsigned char *name; | 6158 unsigned char *name; |
6159 | 6159 |
6160 CHECK_SYMBOL (sigcode); | 6160 CHECK_SYMBOL (sigcode); |
6161 name = SDATA (SYMBOL_NAME (sigcode)); | 6161 name = SDATA (SYMBOL_NAME (sigcode)); |
6162 | 6162 |
6163 if (!strncmp(name, "SIG", 3)) | 6163 if (!strncasecmp(name, "sig", 3)) |
6164 name += 3; | 6164 name += 3; |
6165 | 6165 |
6166 if (0) | 6166 if (0) |
6167 ; | 6167 ; |
6168 #ifdef SIGUSR1 | |
6169 parse_signal ("usr1", SIGUSR1); | |
6170 #endif | |
6171 #ifdef SIGUSR2 | |
6172 parse_signal ("usr2", SIGUSR2); | |
6173 #endif | |
6174 #ifdef SIGTERM | |
6175 parse_signal ("term", SIGTERM); | |
6176 #endif | |
6168 #ifdef SIGHUP | 6177 #ifdef SIGHUP |
6169 handle_signal ("HUP", SIGHUP); | 6178 parse_signal ("hup", SIGHUP); |
6170 #endif | 6179 #endif |
6171 #ifdef SIGINT | 6180 #ifdef SIGINT |
6172 handle_signal ("INT", SIGINT); | 6181 parse_signal ("int", SIGINT); |
6173 #endif | 6182 #endif |
6174 #ifdef SIGQUIT | 6183 #ifdef SIGQUIT |
6175 handle_signal ("QUIT", SIGQUIT); | 6184 parse_signal ("quit", SIGQUIT); |
6176 #endif | 6185 #endif |
6177 #ifdef SIGILL | 6186 #ifdef SIGILL |
6178 handle_signal ("ILL", SIGILL); | 6187 parse_signal ("ill", SIGILL); |
6179 #endif | 6188 #endif |
6180 #ifdef SIGABRT | 6189 #ifdef SIGABRT |
6181 handle_signal ("ABRT", SIGABRT); | 6190 parse_signal ("abrt", SIGABRT); |
6182 #endif | 6191 #endif |
6183 #ifdef SIGEMT | 6192 #ifdef SIGEMT |
6184 handle_signal ("EMT", SIGEMT); | 6193 parse_signal ("emt", SIGEMT); |
6185 #endif | 6194 #endif |
6186 #ifdef SIGKILL | 6195 #ifdef SIGKILL |
6187 handle_signal ("KILL", SIGKILL); | 6196 parse_signal ("kill", SIGKILL); |
6188 #endif | 6197 #endif |
6189 #ifdef SIGFPE | 6198 #ifdef SIGFPE |
6190 handle_signal ("FPE", SIGFPE); | 6199 parse_signal ("fpe", SIGFPE); |
6191 #endif | 6200 #endif |
6192 #ifdef SIGBUS | 6201 #ifdef SIGBUS |
6193 handle_signal ("BUS", SIGBUS); | 6202 parse_signal ("bus", SIGBUS); |
6194 #endif | 6203 #endif |
6195 #ifdef SIGSEGV | 6204 #ifdef SIGSEGV |
6196 handle_signal ("SEGV", SIGSEGV); | 6205 parse_signal ("segv", SIGSEGV); |
6197 #endif | 6206 #endif |
6198 #ifdef SIGSYS | 6207 #ifdef SIGSYS |
6199 handle_signal ("SYS", SIGSYS); | 6208 parse_signal ("sys", SIGSYS); |
6200 #endif | 6209 #endif |
6201 #ifdef SIGPIPE | 6210 #ifdef SIGPIPE |
6202 handle_signal ("PIPE", SIGPIPE); | 6211 parse_signal ("pipe", SIGPIPE); |
6203 #endif | 6212 #endif |
6204 #ifdef SIGALRM | 6213 #ifdef SIGALRM |
6205 handle_signal ("ALRM", SIGALRM); | 6214 parse_signal ("alrm", SIGALRM); |
6206 #endif | |
6207 #ifdef SIGTERM | |
6208 handle_signal ("TERM", SIGTERM); | |
6209 #endif | 6215 #endif |
6210 #ifdef SIGURG | 6216 #ifdef SIGURG |
6211 handle_signal ("URG", SIGURG); | 6217 parse_signal ("urg", SIGURG); |
6212 #endif | 6218 #endif |
6213 #ifdef SIGSTOP | 6219 #ifdef SIGSTOP |
6214 handle_signal ("STOP", SIGSTOP); | 6220 parse_signal ("stop", SIGSTOP); |
6215 #endif | 6221 #endif |
6216 #ifdef SIGTSTP | 6222 #ifdef SIGTSTP |
6217 handle_signal ("TSTP", SIGTSTP); | 6223 parse_signal ("tstp", SIGTSTP); |
6218 #endif | 6224 #endif |
6219 #ifdef SIGCONT | 6225 #ifdef SIGCONT |
6220 handle_signal ("CONT", SIGCONT); | 6226 parse_signal ("cont", SIGCONT); |
6221 #endif | 6227 #endif |
6222 #ifdef SIGCHLD | 6228 #ifdef SIGCHLD |
6223 handle_signal ("CHLD", SIGCHLD); | 6229 parse_signal ("chld", SIGCHLD); |
6224 #endif | 6230 #endif |
6225 #ifdef SIGTTIN | 6231 #ifdef SIGTTIN |
6226 handle_signal ("TTIN", SIGTTIN); | 6232 parse_signal ("ttin", SIGTTIN); |
6227 #endif | 6233 #endif |
6228 #ifdef SIGTTOU | 6234 #ifdef SIGTTOU |
6229 handle_signal ("TTOU", SIGTTOU); | 6235 parse_signal ("ttou", SIGTTOU); |
6230 #endif | 6236 #endif |
6231 #ifdef SIGIO | 6237 #ifdef SIGIO |
6232 handle_signal ("IO", SIGIO); | 6238 parse_signal ("io", SIGIO); |
6233 #endif | 6239 #endif |
6234 #ifdef SIGXCPU | 6240 #ifdef SIGXCPU |
6235 handle_signal ("XCPU", SIGXCPU); | 6241 parse_signal ("xcpu", SIGXCPU); |
6236 #endif | 6242 #endif |
6237 #ifdef SIGXFSZ | 6243 #ifdef SIGXFSZ |
6238 handle_signal ("XFSZ", SIGXFSZ); | 6244 parse_signal ("xfsz", SIGXFSZ); |
6239 #endif | 6245 #endif |
6240 #ifdef SIGVTALRM | 6246 #ifdef SIGVTALRM |
6241 handle_signal ("VTALRM", SIGVTALRM); | 6247 parse_signal ("vtalrm", SIGVTALRM); |
6242 #endif | 6248 #endif |
6243 #ifdef SIGPROF | 6249 #ifdef SIGPROF |
6244 handle_signal ("PROF", SIGPROF); | 6250 parse_signal ("prof", SIGPROF); |
6245 #endif | 6251 #endif |
6246 #ifdef SIGWINCH | 6252 #ifdef SIGWINCH |
6247 handle_signal ("WINCH", SIGWINCH); | 6253 parse_signal ("winch", SIGWINCH); |
6248 #endif | 6254 #endif |
6249 #ifdef SIGINFO | 6255 #ifdef SIGINFO |
6250 handle_signal ("INFO", SIGINFO); | 6256 parse_signal ("info", SIGINFO); |
6251 #endif | |
6252 #ifdef SIGUSR1 | |
6253 handle_signal ("USR1", SIGUSR1); | |
6254 #endif | |
6255 #ifdef SIGUSR2 | |
6256 handle_signal ("USR2", SIGUSR2); | |
6257 #endif | 6257 #endif |
6258 else | 6258 else |
6259 error ("Undefined signal name %s", name); | 6259 error ("Undefined signal name %s", name); |
6260 } | 6260 } |
6261 | 6261 |
6262 #undef handle_signal | 6262 #undef parse_signal |
6263 | 6263 |
6264 return make_number (kill (pid, XINT (sigcode))); | 6264 return make_number (kill (pid, XINT (sigcode))); |
6265 } | 6265 } |
6266 | 6266 |
6267 DEFUN ("process-send-eof", Fprocess_send_eof, Sprocess_send_eof, 0, 1, 0, | 6267 DEFUN ("process-send-eof", Fprocess_send_eof, Sprocess_send_eof, 0, 1, 0, |