| … | |
… | |
| 122 | my %envir=defineProblemEnvir($mode,$ii,$psvn,$courseID,\@saveSubmittedAnswerList); |
122 | my %envir=defineProblemEnvir($mode,$ii,$psvn,$courseID,\@saveSubmittedAnswerList); |
| 123 | |
123 | |
| 124 | ###### New Code contributed by Bill Wheeler ############ |
124 | ###### New Code contributed by Bill Wheeler ############ |
| 125 | ### to fix memory leak |
125 | ### to fix memory leak |
| 126 | my $pid=fork(); |
126 | my $pid=fork(); |
| 127 | if ($pid) {wait ;} |
127 | if ($pid) { |
|
|
128 | waitpid($pid,0); |
|
|
129 | exit 1 if $?; ## exit main program if there was an error in the child process |
|
|
130 | } |
| 128 | else { |
131 | else { |
| 129 | |
132 | |
| 130 | my $pt = new PGtranslator; #pt stands for problem translator; |
133 | my $pt = new PGtranslator; #pt stands for problem translator; |
| 131 | $pt->environment(\%envir); |
134 | $pt->environment(\%envir); |
| 132 | $pt->initialize(); |
135 | $pt->initialize(); |