changeset 110:f1a6cdd692f0

unix: use proper signal names instead of numbers In POSIX standard only several signals have assigned numbers, see [0]. '0' is EXIT, '3' is QUIT, '15' is TERM. '4' is not assigned in POSIX. On Linux, FreeBSD, and Mac OS X '4' is assigned to ILL, which stands for 'Illegal instruction', see [1], par. 7.14 of [2]. Given that C-compilers tend to produce valid instructions there's little point in trapping ILL. Thus trap INT, QUIT, TERM, and EXIT signals. Note that INT replaced ILL. [0]: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#trap [1]: http://pubs.opengroup.org/onlinepubs/009695399/basedefs/signal.h.html [2]: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf
author Ilya Tumaykin <itumaykin@gmail.com>
date Mon, 22 Feb 2016 05:28:53 +0300
parents d287d2a72015
children f9f0f45d2bdb
files plat/unix/update_scopedb.sh
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/plat/unix/update_scopedb.sh	Mon Feb 22 05:05:13 2016 +0300
+++ b/plat/unix/update_scopedb.sh	Mon Feb 22 05:28:53 2016 +0300
@@ -47,7 +47,7 @@
 echo $$ > "$DB_FILE.lock"
 
 # Remove lock and temp file if script is stopped unexpectedly.
-trap 'rm -f "$DB_FILE.lock" "$DB_FILE.temp"' 0 3 4 15
+trap 'rm -f "$DB_FILE.lock" "$DB_FILE.temp"' INT QUIT TERM EXIT
 
 PREVIOUS_DIR=$(pwd)
 if [ -d "$PROJECT_ROOT" ]; then