青山です。

On Tue, 7 Dec 1999 00:47:28 +0900,
Wakou Aoyama <wakou / fsinet.or.jp> wrote:

> この程度でサンプルは動いているようですが、slkp_getkey 以外の入力を扱う
> 部分もすべて C-z のチェックを入れる方がいいでしょうね。

こんな事やってられないですね。SLtty_set_suspend_state() を使えば OK で
した。cur のサスペンドもうまくいっています。


--- slmodule.c.org	Tue Dec  7 03:45:34 1999
+++ slmodule.c	Tue Dec  7 03:45:02 1999
@@ -488,7 +488,18 @@
 #ifdef SIGTSTP
 static void sigtstp_handler (int sig)
 {
-   reset_exit (sig);
+   SLsmg_suspend_smg ();
+   kill (0, SIGSTOP);
+}
+#endif
+
+#ifdef SIGCONT
+static void sigcont_handler (int sig)
+{
+   SLsmg_resume_smg ();
+   SLang_reset_tty ();
+   SLang_init_tty (-1, 0, 1);
+   SLtty_set_suspend_state (1);
 }
 #endif
 
@@ -502,13 +513,14 @@
 #define ruby_signal(sig,handle) posix_signal((sig),(handle))
 static void init_signals (void)
 {
-#if 0
 #ifdef SIGTSTP
    SLsignal (SIGTSTP, sigtstp_handler);
 #endif
+#ifdef SIGCONT
+   SLsignal (SIGCONT, sigcont_handler);
+#endif
 #ifdef SIGINT
    SLsignal (SIGINT, sigint_handler);
-#endif
 #endif
 #ifdef SIGWINCH
    SLsignal_intr (SIGWINCH, sig_winch_handler);


-- 
青山 和光 Wakou Aoyama <wakou / fsinet.or.jp>