[Groonga-commit] groonga/groonga at 32034c4 [master] Add missing Onigmo init/end calls

Back to archive index

Kouhei Sutou null+****@clear*****
Thu Nov 12 19:27:58 JST 2015


Kouhei Sutou	2015-11-12 19:27:58 +0900 (Thu, 12 Nov 2015)

  New Revision: 32034c47882bc9a88dfde7fd510d5fa362b26b0b
  https://github.com/groonga/groonga/commit/32034c47882bc9a88dfde7fd510d5fa362b26b0b

  Message:
    Add missing Onigmo init/end calls

  Modified files:
    lib/ctx.c

  Modified: lib/ctx.c (+26 -0)
===================================================================
--- lib/ctx.c    2015-11-12 17:55:52 +0900 (90a4d93)
+++ lib/ctx.c    2015-11-12 19:27:58 +0900 (493c56b)
@@ -36,6 +36,14 @@
 #include <stdarg.h>
 #include <time.h>
 
+#ifdef GRN_WITH_ONIGMO
+# define GRN_SUPPORT_REGEXP
+#endif /* GRN_WITH_ONIGMO */
+
+#ifdef GRN_SUPPORT_REGEXP
+# include <oniguruma.h>
+#endif /* GRN_SUPPORT_REGEXP */
+
 #ifdef WIN32
 # include <share.h>
 #else /* WIN32 */
@@ -102,6 +110,14 @@ grn_init_from_env(void)
   grn_plugin_init_from_env();
 }
 
+static void
+grn_init_external_libraries(void)
+{
+#ifdef GRN_SUPPORT_REGEXP
+  onig_init();
+#endif /*  GRN_SUPPORT_REGEXP */
+}
+
 void
 grn_sleep(uint32_t seconds)
 {
@@ -867,6 +883,7 @@ grn_init(void)
   grn_rc rc;
   grn_ctx *ctx = &grn_gctx;
   grn_init_from_env();
+  grn_init_external_libraries();
   grn_logger_init();
   grn_query_logger_init();
   CRITICAL_SECTION_INIT(grn_glock);
@@ -1043,6 +1060,14 @@ grn_set_lock_timeout(int timeout)
 
 static int alloc_count = 0;
 
+static void
+grn_fin_external_libraries(void)
+{
+#ifdef GRN_SUPPORT_REGEXP
+  onig_end();
+#endif /*  GRN_SUPPORT_REGEXP */
+}
+
 grn_rc
 grn_fin(void)
 {
@@ -1068,6 +1093,7 @@ grn_fin(void)
   GRN_LOG(ctx, GRN_LOG_NOTICE, "grn_fin (%d)", alloc_count);
   grn_logger_fin(ctx);
   CRITICAL_SECTION_FIN(grn_glock);
+  grn_fin_external_libraries();
   return GRN_SUCCESS;
 }
 
-------------- next part --------------
HTML����������������������������...
다운로드 



More information about the Groonga-commit mailing list
Back to archive index