merged changes

added some signal handling
force use of curses.pm 1.05
This commit is contained in:
minima 2000-08-06 08:38:51 +00:00
parent 961ba05a38
commit 5dd49f32f8
3 changed files with 18 additions and 8 deletions

View File

@ -1,5 +1,10 @@
05Aug00=======================================================================
1. Fixed hax character problem put in somewhen in the C Client
03Aug00=======================================================================
1. caught some more signals (are any of these causing the random stopping
of the code?
2. the Console now requires 1.05 of the Curses module ^R REFRESHES THE SCREEN
(as does ^L) AT LAST!!!!!
02Aug00=======================================================================
1. put back hex check exception for PC29
01Aug00=======================================================================

View File

@ -332,6 +332,13 @@ $SIG{'TERM'} = \&cease;
$SIG{'HUP'} = 'IGNORE';
$SIG{'CHLD'} = \&reap;
$SIG{PIPE} = sub { dbg('err', "Broken PIPE signal received"); };
$SIG{IO} = sub { dbg('err', "SIGIO received"); };
$SIG{ILL} = $SIG{FPE} =
$SIG{SEGV} = $SIG{USR1} = $SIG{USR2} =
$SIG{BUS} = sub { my $sig = shift; DXDebug::confess("Caught signal $sig"); };
# read in system messages
DXM->init();
@ -381,11 +388,6 @@ dbg('err', "orft we jolly well go ...");
#open(DB::OUT, "|tee /tmp/aa");
$SIG{PIPE} = sub {
#$DB::single = 1;
dbg('err', "Broken PIPE signal received");
};
for (;;) {
my $timenow;
# $DB::trace = 1;

View File

@ -30,7 +30,7 @@ use DXVars;
use DXDebug;
use DXUtil;
use IO::File;
use Curses;
use Curses 1.05;
use Console;
@ -59,7 +59,8 @@ sub do_initscr
if ($has_colors) {
start_color();
init_pair(0, $foreground, $background);
init_pair("0", $foreground, $background);
# init_pair(0, $background, $foreground);
init_pair(1, COLOR_RED, $background);
init_pair(2, COLOR_YELLOW, $background);
init_pair(3, COLOR_GREEN, $background);
@ -74,6 +75,7 @@ sub do_initscr
init_pair(12, COLOR_MAGENTA, COLOR_BLUE);
init_pair(13, COLOR_YELLOW, COLOR_GREEN);
init_pair(14, COLOR_RED, COLOR_GREEN);
$scr->attrset(COLOR_PAIR(0));
}
$top = $scr->subwin(LINES()-4, COLS, 0, 0);
@ -384,7 +386,8 @@ sub rec_stdin
$pos++;
$lth++;
} elsif ($r eq "\014" || $r eq "\022") {
#do_resize();
touchwin($curscr, 1);
refresh($curscr);
return;
} elsif ($r eq "\013") {
$inbuf = substr($inbuf, 0, $pos);