grep-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Grep-devel] [PATCH 3/4] kwsearch: thread safety


From: Zev Weiss
Subject: [Grep-devel] [PATCH 3/4] kwsearch: thread safety
Date: Sun, 25 Dec 2016 02:57:08 -0600

* src/kwsearch.c (Fcompile): Return a kwset_t instead of setting a
global variable.
(Fexecute): Use a passed-in kwset_t instead of a global variable.
(kwset): Remove global variable.
---
 src/kwsearch.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/src/kwsearch.c b/src/kwsearch.c
index 3b7474d..fedbe32 100644
--- a/src/kwsearch.c
+++ b/src/kwsearch.c
@@ -21,14 +21,10 @@
 #include <config.h>
 #include "search.h"
 
-/* KWset compiled pattern.  For Ecompile and Gcompile, we compile
-   a list of strings, at least one of which is known to occur in
-   any string matching the regexp. */
-static kwset_t kwset;
-
 void *
 Fcompile (char const *pattern, size_t size, reg_syntax_t ignored)
 {
+  kwset_t kwset;
   size_t total = size;
 
   kwset = kwsinit (true);
@@ -69,7 +65,7 @@ Fcompile (char const *pattern, size_t size, reg_syntax_t 
ignored)
 
   kwsprep (kwset);
 
-  return NULL;
+  return kwset;
 }
 
 size_t
@@ -83,6 +79,7 @@ Fexecute (void *vcp, char const *buf, size_t size, size_t 
*match_size,
   size_t ret_val;
   bool mb_check;
   bool longest;
+  kwset_t kwset = vcp;
 
   if (match_lines)
     mb_check = longest = false;
-- 
2.11.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]