commit f86d75e78d1aa1b6e5c354d14086a2aa73e39e73
parent b8c5f693d35ff86aba15420dd7114d48dc09fb51
Author: Alexander Burger <abu@software-lab.de>
Date: Thu, 25 Apr 2013 21:37:08 +0200
Bug in SIGTERM handling (64-bit)
Diffstat:
6 files changed, 252 insertions(+), 137 deletions(-)
diff --git a/ersatz/picolisp.jar b/ersatz/picolisp.jar
Binary files differ.
diff --git a/lib/map b/lib/map
@@ -25,16 +25,16 @@ $ (2967 . "@src64/flow.l")
>> (2627 . "@src64/big.l")
abs (2731 . "@src64/big.l")
accept (148 . "@src64/net.l")
-adr (587 . "@src64/main.l")
-alarm (473 . "@src64/main.l")
+adr (588 . "@src64/main.l")
+alarm (474 . "@src64/main.l")
all (788 . "@src64/sym.l")
and (1624 . "@src64/flow.l")
any (3999 . "@src64/io.l")
append (1339 . "@src64/subr.l")
apply (713 . "@src64/apply.l")
-arg (2575 . "@src64/main.l")
-args (2551 . "@src64/main.l")
-argv (3203 . "@src64/main.l")
+arg (2576 . "@src64/main.l")
+args (2552 . "@src64/main.l")
+argv (3204 . "@src64/main.l")
as (139 . "@src64/flow.l")
asoq (3021 . "@src64/subr.l")
assoc (2986 . "@src64/subr.l")
@@ -66,7 +66,7 @@ call (3096 . "@src64/flow.l")
car (5 . "@src64/subr.l")
case (1965 . "@src64/flow.l")
catch (2467 . "@src64/flow.l")
-cd (2955 . "@src64/main.l")
+cd (2956 . "@src64/main.l")
cdaaar (464 . "@src64/subr.l")
cdaadr (487 . "@src64/subr.l")
cdaar (179 . "@src64/subr.l")
@@ -89,7 +89,7 @@ circ (817 . "@src64/subr.l")
circ? (2403 . "@src64/subr.l")
clip (1800 . "@src64/subr.l")
close (4412 . "@src64/io.l")
-cmd (3185 . "@src64/main.l")
+cmd (3186 . "@src64/main.l")
cnt (1413 . "@src64/apply.l")
co (2548 . "@src64/flow.l")
commit (1403 . "@src64/db.l")
@@ -100,9 +100,9 @@ connect (227 . "@src64/net.l")
cons (747 . "@src64/subr.l")
copy (1226 . "@src64/subr.l")
ctl (4285 . "@src64/io.l")
-ctty (2980 . "@src64/main.l")
+ctty (2981 . "@src64/main.l")
cut (1931 . "@src64/sym.l")
-date (2689 . "@src64/main.l")
+date (2690 . "@src64/main.l")
dbck (2018 . "@src64/db.l")
de (532 . "@src64/flow.l")
dec (2323 . "@src64/big.l")
@@ -112,16 +112,16 @@ del (1986 . "@src64/sym.l")
delete (1402 . "@src64/subr.l")
delq (1453 . "@src64/subr.l")
diff (2590 . "@src64/subr.l")
-dir (3115 . "@src64/main.l")
+dir (3116 . "@src64/main.l")
dm (545 . "@src64/flow.l")
do (2141 . "@src64/flow.l")
e (2928 . "@src64/flow.l")
echo (4443 . "@src64/io.l")
-env (599 . "@src64/main.l")
+env (600 . "@src64/main.l")
eof (3558 . "@src64/io.l")
eol (3549 . "@src64/io.l")
err (4265 . "@src64/io.l")
-errno (1575 . "@src64/main.l")
+errno (1576 . "@src64/main.l")
eval (175 . "@src64/flow.l")
ext (5177 . "@src64/io.l")
ext? (1166 . "@src64/sym.l")
@@ -129,7 +129,7 @@ extern (1032 . "@src64/sym.l")
extra (1269 . "@src64/flow.l")
extract (1218 . "@src64/apply.l")
fifo (2097 . "@src64/sym.l")
-file (3062 . "@src64/main.l")
+file (3063 . "@src64/main.l")
fill (3256 . "@src64/subr.l")
filter (1161 . "@src64/apply.l")
fin (2034 . "@src64/subr.l")
@@ -156,7 +156,7 @@ glue (1369 . "@src64/sym.l")
gt0 (2718 . "@src64/big.l")
hash (2976 . "@src64/big.l")
head (1821 . "@src64/subr.l")
-heap (519 . "@src64/main.l")
+heap (520 . "@src64/main.l")
hear (3262 . "@src64/io.l")
host (193 . "@src64/net.l")
id (1028 . "@src64/db.l")
@@ -167,7 +167,7 @@ ifn (1865 . "@src64/flow.l")
in (4225 . "@src64/io.l")
inc (2256 . "@src64/big.l")
index (2638 . "@src64/subr.l")
-info (3017 . "@src64/main.l")
+info (3018 . "@src64/main.l")
intern (1007 . "@src64/sym.l")
ipid (3215 . "@src64/flow.l")
isa (967 . "@src64/flow.l")
@@ -184,7 +184,7 @@ lieu (1157 . "@src64/db.l")
line (3733 . "@src64/io.l")
lines (3886 . "@src64/io.l")
link (1173 . "@src64/subr.l")
-lisp (2244 . "@src64/main.l")
+lisp (2245 . "@src64/main.l")
list (888 . "@src64/subr.l")
listen (160 . "@src64/net.l")
lit (150 . "@src64/flow.l")
@@ -223,10 +223,10 @@ n== (2088 . "@src64/subr.l")
nT (2199 . "@src64/subr.l")
name (502 . "@src64/sym.l")
nand (1659 . "@src64/flow.l")
-native (1583 . "@src64/main.l")
+native (1584 . "@src64/main.l")
need (920 . "@src64/subr.l")
new (839 . "@src64/flow.l")
-next (2558 . "@src64/main.l")
+next (2559 . "@src64/main.l")
nil (1742 . "@src64/flow.l")
nond (1942 . "@src64/flow.l")
nor (1680 . "@src64/flow.l")
@@ -240,7 +240,7 @@ onOff (1747 . "@src64/sym.l")
one (1780 . "@src64/sym.l")
open (4369 . "@src64/io.l")
opid (3231 . "@src64/flow.l")
-opt (3306 . "@src64/main.l")
+opt (3307 . "@src64/main.l")
or (1640 . "@src64/flow.l")
out (4245 . "@src64/io.l")
pack (1279 . "@src64/sym.l")
@@ -267,24 +267,24 @@ prog (1760 . "@src64/flow.l")
prog1 (1768 . "@src64/flow.l")
prog2 (1785 . "@src64/flow.l")
prop (2934 . "@src64/sym.l")
-protect (509 . "@src64/main.l")
+protect (510 . "@src64/main.l")
prove (3543 . "@src64/subr.l")
push (1822 . "@src64/sym.l")
push1 (1858 . "@src64/sym.l")
put (2844 . "@src64/sym.l")
putl (3122 . "@src64/sym.l")
-pwd (2944 . "@src64/main.l")
+pwd (2945 . "@src64/main.l")
queue (2054 . "@src64/sym.l")
-quit (1285 . "@src64/main.l")
+quit (1286 . "@src64/main.l")
quote (134 . "@src64/flow.l")
rand (3003 . "@src64/big.l")
range (998 . "@src64/subr.l")
rank (3049 . "@src64/subr.l")
-raw (451 . "@src64/main.l")
+raw (452 . "@src64/main.l")
rd (5194 . "@src64/io.l")
read (2674 . "@src64/io.l")
replace (1500 . "@src64/subr.l")
-rest (2604 . "@src64/main.l")
+rest (2605 . "@src64/main.l")
reverse (1679 . "@src64/subr.l")
rewind (5160 . "@src64/io.l")
rollback (1803 . "@src64/db.l")
@@ -297,20 +297,20 @@ send (1134 . "@src64/flow.l")
seq (1084 . "@src64/db.l")
set (1616 . "@src64/sym.l")
setq (1649 . "@src64/sym.l")
-sigio (489 . "@src64/main.l")
+sigio (490 . "@src64/main.l")
size (2809 . "@src64/subr.l")
skip (3535 . "@src64/io.l")
sort (3978 . "@src64/subr.l")
sp? (727 . "@src64/sym.l")
space (5094 . "@src64/io.l")
split (1593 . "@src64/subr.l")
-stack (548 . "@src64/main.l")
+stack (549 . "@src64/main.l")
state (2009 . "@src64/flow.l")
stem (1990 . "@src64/subr.l")
str (4053 . "@src64/io.l")
str? (1145 . "@src64/sym.l")
strip (1577 . "@src64/subr.l")
-struct (2035 . "@src64/main.l")
+struct (2036 . "@src64/main.l")
sub? (1578 . "@src64/sym.l")
sum (1460 . "@src64/apply.l")
super (1225 . "@src64/flow.l")
@@ -326,9 +326,9 @@ text (1407 . "@src64/sym.l")
throw (2493 . "@src64/flow.l")
tick (3183 . "@src64/flow.l")
till (3644 . "@src64/io.l")
-time (2822 . "@src64/main.l")
+time (2823 . "@src64/main.l")
touch (1181 . "@src64/sym.l")
-trail (698 . "@src64/main.l")
+trail (699 . "@src64/main.l")
trim (1760 . "@src64/subr.l")
try (1177 . "@src64/flow.l")
type (920 . "@src64/flow.l")
@@ -336,13 +336,13 @@ udp (304 . "@src64/net.l")
unify (3951 . "@src64/subr.l")
unless (1901 . "@src64/flow.l")
until (2085 . "@src64/flow.l")
-up (766 . "@src64/main.l")
+up (767 . "@src64/main.l")
upp? (3402 . "@src64/sym.l")
uppc (3469 . "@src64/sym.l")
use (1573 . "@src64/flow.l")
-usec (2926 . "@src64/main.l")
+usec (2927 . "@src64/main.l")
val (1597 . "@src64/sym.l")
-version (3320 . "@src64/main.l")
+version (3321 . "@src64/main.l")
wait (3184 . "@src64/io.l")
when (1884 . "@src64/flow.l")
while (2061 . "@src64/flow.l")
diff --git a/src/vers.h b/src/vers.h
@@ -1 +1 @@
-static byte Version[4] = {3,1,2,3};
+static byte Version[4] = {3,1,2,4};
diff --git a/src64/main.l b/src64/main.l
@@ -1,4 +1,4 @@
-# 06feb13abu
+# 25apr13abu
# (c) Software Lab. Alexander Burger
(code 'Code)
@@ -326,6 +326,7 @@
ld E 0 # Exit OK
jmp byeE
end
+ break T
end
end
end
diff --git a/src64/tags b/src64/tags
@@ -48,6 +48,120 @@
CHAR_LETTER63,1499
CHAR_DIGIT64,1520
+sys/x86-64.linux.defs.l,1959
+ENOENT5,59
+EINTR6,108
+EBADF7,155
+EAGAIN8,194
+EACCES9,227
+EPIPE10,268
+ECONNRESET11,303
+O_RDONLY14,365
+O_WRONLY15,382
+O_RDWR16,399
+O_CREAT17,414
+O_EXCL18,431
+O_TRUNC19,448
+O_APPEND20,466
+F_GETFD21,486
+F_SETFD22,502
+FD_CLOEXEC23,518
+BUFSIZ26,546
+PIPE_BUF27,564
+MAXPATHLEN29,585
+RTLD_LAZY32,613
+RTLD_GLOBAL33,631
+FLOCK36,662
+L_TYPE37,702
+L_WHENCE38,722
+L_START39,744
+L_LEN40,760
+L_PID41,775
+SEEK_SET42,790
+SEEK_CUR43,807
+F_RDLCK44,824
+F_WRLCK45,840
+F_UNLCK46,856
+F_GETFL47,872
+F_SETFL48,888
+F_GETLK49,904
+F_SETLK50,920
+F_SETLKW51,936
+F_SETOWN52,953
+O_NONBLOCK53,970
+O_ASYNC54,992
+STAT57,1019
+ST_MODE58,1061
+ST_SIZE59,1083
+ST_MTIME60,1100
+S_IFMT61,1118
+S_IFDIR62,1144
+TMS65,1180
+TMS_UTIME66,1214
+TMS_STIME67,1232
+TERMIOS70,1261
+C_IFLAG71,1304
+C_LFLAG72,1320
+C_CC73,1337
+ISIG74,1351
+VMIN75,1364
+VTIME76,1377
+TCSADRAIN77,1391
+SIGACTION80,1419
+SIGSET_T81,1462
+SA_HANDLER82,1481
+SA_MASK83,1500
+SA_FLAGS84,1516
+SIG_DFL86,1536
+SIG_IGN87,1552
+SIG_UNBLOCK88,1568
+SIGHUP90,1589
+SIGINT91,1615
+SIGUSR192,1630
+SIGUSR293,1647
+SIGPIPE94,1664
+SIGALRM95,1681
+SIGTERM96,1698
+SIGCHLD97,1715
+SIGCONT98,1732
+SIGSTOP99,1749
+SIGTSTP100,1766
+SIGTTIN101,1783
+SIGTTOU102,1800
+SIGIO103,1817
+SIGNALS104,1832
+WNOHANG107,1894
+WUNTRACED108,1910
+FD_SET111,1938
+TM_SEC114,1975
+TM_MIN115,1990
+TM_HOUR116,2005
+TM_MDAY117,2021
+TM_MON118,2038
+TM_YEAR119,2054
+D_NAME122,2078
+SOCK_STREAM125,2105
+SOCK_DGRAM126,2125
+AF_UNSPEC127,2144
+AF_INET6128,2162
+SOL_SOCKET129,2180
+SO_REUSEADDR130,2199
+IPPROTO_IPV6131,2220
+IPV6_V6ONLY132,2242
+INET6_ADDRSTRLEN133,2263
+NI_MAXHOST135,2290
+NI_NAMEREQD136,2312
+SOCKADDR_IN6138,2333
+SIN6_FAMILY139,2355
+SIN6_PORT140,2375
+SIN6_ADDR141,2393
+ADDRINFO143,2412
+AI_FAMILY144,2430
+AI_SOCKTYPE145,2448
+AI_ADDRLEN146,2468
+AI_ADDR147,2488
+AI_NEXT148,2505
+
./glob.l,4310
Data4,51
AV7,77
@@ -318,101 +432,101 @@
sighandler0238,5885
sighandlerX245,5962
sighandlerE252,6039
-sig344,9333
-sigTerm356,9557
-sigChld367,9775
-tcSetC388,10283
-sigTermStop401,10550
-setRaw417,11043
-setCooked443,11842
-doRaw451,12009
-doAlarm473,12412
-doSigio489,12696
-doProtect509,13163
-doHeap519,13323
-doStack548,13947
-doAdr587,14790
-doEnv599,15008
-doTrail698,17718
-doUp766,19316
-circE_YF845,21004
-equalAE_F877,21744
-compareAE_F1010,24953
-binSizeX_A1172,28429
-memberXY_FY1267,31039
-doQuit1285,31390
-evExprCE_E1303,31807
-evListE_E1451,35441
-sharedLibC_FA1504,36577
-doErrno1575,38221
-doNative1583,38385
-natBufACZ_CZ1787,44187
-natRetACE_CE1886,46672
-doStruct2035,52072
-fetchCharC_AC2078,52952
-cbl2113,53821
-cbl12146,54537
-cbl22150,54653
-cbl32154,54699
-cbl42158,54751
-cbl52162,54803
-cbl62166,54855
-cbl72170,54907
-cbl82174,54959
-cbl92178,55011
-cbl102182,55063
-cbl112186,55116
-cbl122190,55170
-cbl132194,55224
-cbl142198,55278
-cbl152202,55332
-cbl162206,55386
-cbl172210,55440
-cbl182214,55494
-cbl192218,55548
-cbl202222,55602
-cbl212226,55656
-cbl222230,55710
-cbl232234,55764
-cbl242238,55818
-doLisp2244,55901
-lisp2288,56927
-execE2334,58041
-runE_E2346,58196
-funqE_FE2358,58348
-evSymX_E2420,59771
-evSymY_E2423,59829
-evSymE_E2425,59871
-xSymE_E2427,59908
-evCntXY_FE2448,60273
-evCntEX_FE2450,60317
-xCntEX_FE2452,60356
-xCntCX_FC2461,60533
-xCntAX_FA2470,60710
-boxE_E2479,60887
-putStringB2499,61344
-begString2511,61558
-endString_E2522,61784
-doArgs2551,62441
-doNext2558,62555
-doArg2575,62871
-doRest2604,63513
-tmDateC_E2618,63760
-dateXYZ_E2628,63937
-doDate2689,65298
-tmTimeY_E2805,68909
-doTime2822,69242
-doUsec2926,72220
-doPwd2944,72637
-doCd2955,72892
-doCtty2980,73508
-doInfo3017,74442
-doFile3062,75537
-doDir3115,76773
-doCmd3185,78391
-doArgv3203,78850
-doOpt3306,81396
-doVersion3320,81727
+sig345,9371
+sigTerm357,9595
+sigChld368,9813
+tcSetC389,10321
+sigTermStop402,10588
+setRaw418,11081
+setCooked444,11880
+doRaw452,12047
+doAlarm474,12450
+doSigio490,12734
+doProtect510,13201
+doHeap520,13361
+doStack549,13985
+doAdr588,14828
+doEnv600,15046
+doTrail699,17756
+doUp767,19354
+circE_YF846,21042
+equalAE_F878,21782
+compareAE_F1011,24991
+binSizeX_A1173,28467
+memberXY_FY1268,31077
+doQuit1286,31428
+evExprCE_E1304,31845
+evListE_E1452,35479
+sharedLibC_FA1505,36615
+doErrno1576,38259
+doNative1584,38423
+natBufACZ_CZ1788,44225
+natRetACE_CE1887,46710
+doStruct2036,52110
+fetchCharC_AC2079,52990
+cbl2114,53859
+cbl12147,54575
+cbl22151,54691
+cbl32155,54737
+cbl42159,54789
+cbl52163,54841
+cbl62167,54893
+cbl72171,54945
+cbl82175,54997
+cbl92179,55049
+cbl102183,55101
+cbl112187,55154
+cbl122191,55208
+cbl132195,55262
+cbl142199,55316
+cbl152203,55370
+cbl162207,55424
+cbl172211,55478
+cbl182215,55532
+cbl192219,55586
+cbl202223,55640
+cbl212227,55694
+cbl222231,55748
+cbl232235,55802
+cbl242239,55856
+doLisp2245,55939
+lisp2289,56965
+execE2335,58079
+runE_E2347,58234
+funqE_FE2359,58386
+evSymX_E2421,59809
+evSymY_E2424,59867
+evSymE_E2426,59909
+xSymE_E2428,59946
+evCntXY_FE2449,60311
+evCntEX_FE2451,60355
+xCntEX_FE2453,60394
+xCntCX_FC2462,60571
+xCntAX_FA2471,60748
+boxE_E2480,60925
+putStringB2500,61382
+begString2512,61596
+endString_E2523,61822
+doArgs2552,62479
+doNext2559,62593
+doArg2576,62909
+doRest2605,63551
+tmDateC_E2619,63798
+dateXYZ_E2629,63975
+doDate2690,65336
+tmTimeY_E2806,68947
+doTime2823,69280
+doUsec2927,72258
+doPwd2945,72675
+doCd2956,72930
+doCtty2981,73546
+doInfo3018,74480
+doFile3063,75575
+doDir3116,76811
+doCmd3186,78429
+doArgv3204,78888
+doOpt3307,81434
+doVersion3321,81765
./big.l,1059
zapZeroA_A6,106
@@ -1138,9 +1252,9 @@
getUdpZ_FB373,9872
putUdpBZ380,10017
-sys/emu.code.l,95
-errno_A8,134
-errnoC16,260
-wifstoppedS_F24,409
-wifsignaledS_F32,570
-wtermsigS_A40,725
+sys/x86-64.linux.code.l,94
+errno_A5,67
+errnoC10,169
+wifstoppedS_F16,287
+wifsignaledS_F21,413
+wtermsigS_A28,568
diff --git a/src64/version.l b/src64/version.l
@@ -1,6 +1,6 @@
-# 09apr13abu
+# 25apr13abu
# (c) Software Lab. Alexander Burger
-(de *Version 3 1 2 3)
+(de *Version 3 1 2 4)
# vi:et:ts=3:sw=3