MyHLは、haribote HL-8cを改造したバージョンです。
MyHL SIGSEGVシグナルを処理してコマンド履歴を保存する
@@ -1881,6 +1887,7 @@ int main(int argc, const char **argv) #if defined(__APPLE__) || defined(__linux__) trapSignal(SIGCONT, contHandler); + trapSignal(SIGSEGV, segvHandler); #endif int status = 0;
void segvHandler(int signum) { printf("Segmentation fault\n"); destroyTerm(); setCanonicalMode(); exit(1); }
trapSignal()
は、MyHL SIGCONTシグナルを処理してREPLをフォアグラウンドにするで追加した関数です。
destroyTerm()
の中でsaveHistory()
を呼び出しています。どちらもharibote HL-4aで追加した関数です。