Revision: 6007
Author: iratqq
Date: Thu Sep 24 15:55:59 2009
Log: * uim/fileio.c (uim_plugin_instance_quit):
* uim/process.c (uim_plugin_instance_quit):
* uim/socket.c (uim_plugin_instance_quit):
* uim/sqlite3.c (uim_plugin_instance_quit):
  - Fix critical bug.
  - All static lisp objects are protected while module are on memory.

http://code.google.com/p/uim/source/detail?r=6007

Modified:
 /trunk/uim/fileio.c
 /trunk/uim/process.c
 /trunk/uim/socket.c
 /trunk/uim/sqlite3.c

=======================================
--- /trunk/uim/fileio.c Mon Sep 21 19:03:55 2009
+++ /trunk/uim/fileio.c Thu Sep 24 15:55:59 2009
@@ -328,4 +328,7 @@
 void
 uim_plugin_instance_quit(void)
 {
-}
+  uim_scm_gc_unprotect(&uim_lisp_open_flags);
+  uim_scm_gc_unprotect(&uim_lisp_open_mode);
+  uim_scm_gc_unprotect(&uim_lisp_poll_flags);
+}
=======================================
--- /trunk/uim/process.c        Mon Mar  2 10:26:02 2009
+++ /trunk/uim/process.c        Thu Sep 24 15:55:59 2009
@@ -238,4 +238,5 @@
 void
 uim_plugin_instance_quit(void)
 {
-}
+  uim_scm_gc_unprotect(&uim_lisp_process_waitpid_options);
+}
=======================================
--- /trunk/uim/socket.c Mon Mar  2 10:26:02 2009
+++ /trunk/uim/socket.c Thu Sep 24 15:55:59 2009
@@ -474,5 +474,10 @@
 void
 uim_plugin_instance_quit(void)
 {
+  uim_scm_gc_unprotect(&uim_lisp_ai_flags);
+  uim_scm_gc_unprotect(&uim_lisp_ai_family);
+  uim_scm_gc_unprotect(&uim_lisp_ai_socktype);
+  uim_scm_gc_unprotect(&uim_lisp_ai_protocol);
+  uim_scm_gc_unprotect(&uim_lisp_shutdown_how_alist);
 }

=======================================
--- /trunk/uim/sqlite3.c        Mon Aug 17 04:12:15 2009
+++ /trunk/uim/sqlite3.c        Thu Sep 24 15:55:59 2009
@@ -299,4 +299,5 @@
 void
 uim_plugin_instance_quit(void)
 {
-}
+  uim_scm_gc_unprotect(&uim_lisp_sqlite3_results_);
+}

Reply via email to