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======================================================================= 05Aug00=======================================================================
1. Fixed hax character problem put in somewhen in the C Client 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======================================================================= 02Aug00=======================================================================
1. put back hex check exception for PC29 1. put back hex check exception for PC29
01Aug00======================================================================= 01Aug00=======================================================================

View File

@ -332,6 +332,13 @@ $SIG{'TERM'} = \&cease;
$SIG{'HUP'} = 'IGNORE'; $SIG{'HUP'} = 'IGNORE';
$SIG{'CHLD'} = \&reap; $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 # read in system messages
DXM->init(); DXM->init();
@ -381,11 +388,6 @@ dbg('err', "orft we jolly well go ...");
#open(DB::OUT, "|tee /tmp/aa"); #open(DB::OUT, "|tee /tmp/aa");
$SIG{PIPE} = sub {
#$DB::single = 1;
dbg('err', "Broken PIPE signal received");
};
for (;;) { for (;;) {
my $timenow; my $timenow;
# $DB::trace = 1; # $DB::trace = 1;

View File

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