--- loncom/lonmaxima 2006/03/04 06:56:10 1.10 +++ loncom/lonmaxima 2006/03/04 15:47:26 1.11 @@ -3,7 +3,7 @@ # The LearningOnline Network with CAPA # Connect to MAXIMA CAS # -# $Id: lonmaxima,v 1.10 2006/03/04 06:56:10 albertel Exp $ +# $Id: lonmaxima,v 1.11 2006/03/04 15:47:26 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -52,8 +52,9 @@ my $pidfile; # my $port; # path to UNIX socket file my %perlvar; # configuration file info my $lastlog; # last string that was logged +my $maximapid; # PID of Maxima process use vars qw($PREFORK $MAX_CLIENTS_PER_CHILD %children $children $status - $pidfile $port %perlvar $lastlog); + $pidfile $port %perlvar $lastlog $maximapid); sub maximareply { my ($cmd) = @_; @@ -64,7 +65,7 @@ sub maximareply { unless ($cmd=~/\;\n$/) { $cmd.=";\n"; } my ($cmd_in, $cmd_out, $cmd_err); - my $maximapid = open3($cmd_in, $cmd_out, $cmd_err, 'maxima'); + $maximapid = open3($cmd_in, $cmd_out, $cmd_err, 'maxima'); $children{$maximapid} = 1; print $cmd_in $cmd; @@ -72,7 +73,7 @@ sub maximareply { &status("Command sent"); - $SIG{ALRM} = sub { kill 9 => $maximapid; }; + $SIG{ALRM} = sub { kill(9 => $maximapid); }; alarm(5); my $selector = IO::Select->new();