Home | History | Annotate | Line # | Download | only in bugs-fixed
system-status.awk revision 1.1.1.2
      1      1.1  christos # Unmodified nawk prints the 16 bit exit status divided by 256, but
      2      1.1  christos # does so using floating point arithmetic, yielding strange results.
      3      1.1  christos #
      4      1.1  christos # The fix is to use the various macros defined for wait(2) and to
      5      1.1  christos # use the signal number + 256 for death by signal, or signal number + 512
      6      1.1  christos # for death by signal with core dump.
      7      1.1  christos 
      8      1.1  christos BEGIN {
      9      1.1  christos 	status = system("exit 42")
     10      1.1  christos 	print "normal status", status
     11      1.1  christos 
     12  1.1.1.2  christos 	status = system("kill -KILL $$")
     13      1.1  christos 	print "death by signal status", status
     14      1.1  christos 
     15      1.1  christos 	status = system("kill -ABRT $$")
     16      1.1  christos 	print "death by signal with core dump status", status
     17      1.1  christos 
     18      1.1  christos 	system("rm -f core*")
     19      1.1  christos }
     20