[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
- [Grep-devel] [PATCH 0/4] search backend thread safety, Zev Weiss, 2016/12/25
- [Grep-devel] [PATCH 1/4] grep: prepare search backends for thread-safety, Zev Weiss, 2016/12/25
- [Grep-devel] [PATCH 3/4] kwsearch: thread safety,
Zev Weiss <=
- [Grep-devel] [PATCH 2/4] dfasearch: thread safety, Zev Weiss, 2016/12/25
- [Grep-devel] [PATCH 4/4] pcresearch: thread safety, Zev Weiss, 2016/12/25
- Re: [Grep-devel] [PATCH 0/4] search backend thread safety, Jim Meyering, 2016/12/25
- Re: [Grep-devel] [PATCH 0/4] search backend thread safety, Paul Eggert, 2016/12/25