diff --git a/lang/m2/libm2/catch.c b/lang/m2/libm2/catch.c index 1fd5cf80d..76e818105 100644 --- a/lang/m2/libm2/catch.c +++ b/lang/m2/libm2/catch.c @@ -88,12 +88,12 @@ catch(trapno) signal(__signo, SIG_DFL); _cleanup(); kill(getpid(), __signo); - _exit(trapno); + _exit(trapno+1); } #endif if (trapno != M2_FORCH) { _cleanup(); - _exit(trapno); + _exit(trapno+1); } SIG(catch); } diff --git a/lang/pc/libpc/catch.c b/lang/pc/libpc/catch.c index d100633f7..5396b4cac 100644 --- a/lang/pc/libpc/catch.c +++ b/lang/pc/libpc/catch.c @@ -148,7 +148,7 @@ _catch(erno) unsigned erno; { if (_write(2,q,(int)(p-q)) < 0) ; } - _exit(erno); + _exit(erno+1); error: _trp(erno); }