grep: remove #ifdef NO_PTHREADS
This is a faithful conversion without attempting to improve anything. That comes later. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
2e1b141a01
commit
4002e87cb2
@ -34,7 +34,6 @@ static int recurse_submodules;
|
|||||||
#define GREP_NUM_THREADS_DEFAULT 8
|
#define GREP_NUM_THREADS_DEFAULT 8
|
||||||
static int num_threads;
|
static int num_threads;
|
||||||
|
|
||||||
#ifndef NO_PTHREADS
|
|
||||||
static pthread_t *threads;
|
static pthread_t *threads;
|
||||||
|
|
||||||
/* We use one producer thread and THREADS consumer
|
/* We use one producer thread and THREADS consumer
|
||||||
@ -234,6 +233,9 @@ static int wait_all(void)
|
|||||||
int hit = 0;
|
int hit = 0;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
if (!HAVE_THREADS)
|
||||||
|
return 0;
|
||||||
|
|
||||||
grep_lock();
|
grep_lock();
|
||||||
all_work_added = 1;
|
all_work_added = 1;
|
||||||
|
|
||||||
@ -265,13 +267,6 @@ static int wait_all(void)
|
|||||||
|
|
||||||
return hit;
|
return hit;
|
||||||
}
|
}
|
||||||
#else /* !NO_PTHREADS */
|
|
||||||
|
|
||||||
static int wait_all(void)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static int grep_cmd_config(const char *var, const char *value, void *cb)
|
static int grep_cmd_config(const char *var, const char *value, void *cb)
|
||||||
{
|
{
|
||||||
@ -284,8 +279,7 @@ static int grep_cmd_config(const char *var, const char *value, void *cb)
|
|||||||
if (num_threads < 0)
|
if (num_threads < 0)
|
||||||
die(_("invalid number of threads specified (%d) for %s"),
|
die(_("invalid number of threads specified (%d) for %s"),
|
||||||
num_threads, var);
|
num_threads, var);
|
||||||
#ifdef NO_PTHREADS
|
else if (!HAVE_THREADS && num_threads && num_threads != 1) {
|
||||||
else if (num_threads && num_threads != 1) {
|
|
||||||
/*
|
/*
|
||||||
* TRANSLATORS: %s is the configuration
|
* TRANSLATORS: %s is the configuration
|
||||||
* variable for tweaking threads, currently
|
* variable for tweaking threads, currently
|
||||||
@ -294,7 +288,6 @@ static int grep_cmd_config(const char *var, const char *value, void *cb)
|
|||||||
warning(_("no threads support, ignoring %s"), var);
|
warning(_("no threads support, ignoring %s"), var);
|
||||||
num_threads = 0;
|
num_threads = 0;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!strcmp(var, "submodule.recurse"))
|
if (!strcmp(var, "submodule.recurse"))
|
||||||
@ -330,17 +323,14 @@ static int grep_oid(struct grep_opt *opt, const struct object_id *oid,
|
|||||||
grep_source_init(&gs, GREP_SOURCE_OID, pathbuf.buf, path, oid);
|
grep_source_init(&gs, GREP_SOURCE_OID, pathbuf.buf, path, oid);
|
||||||
strbuf_release(&pathbuf);
|
strbuf_release(&pathbuf);
|
||||||
|
|
||||||
#ifndef NO_PTHREADS
|
if (HAVE_THREADS && num_threads) {
|
||||||
if (num_threads) {
|
|
||||||
/*
|
/*
|
||||||
* add_work() copies gs and thus assumes ownership of
|
* add_work() copies gs and thus assumes ownership of
|
||||||
* its fields, so do not call grep_source_clear()
|
* its fields, so do not call grep_source_clear()
|
||||||
*/
|
*/
|
||||||
add_work(opt, &gs);
|
add_work(opt, &gs);
|
||||||
return 0;
|
return 0;
|
||||||
} else
|
} else {
|
||||||
#endif
|
|
||||||
{
|
|
||||||
int hit;
|
int hit;
|
||||||
|
|
||||||
hit = grep_source(opt, &gs);
|
hit = grep_source(opt, &gs);
|
||||||
@ -363,17 +353,14 @@ static int grep_file(struct grep_opt *opt, const char *filename)
|
|||||||
grep_source_init(&gs, GREP_SOURCE_FILE, buf.buf, filename, filename);
|
grep_source_init(&gs, GREP_SOURCE_FILE, buf.buf, filename, filename);
|
||||||
strbuf_release(&buf);
|
strbuf_release(&buf);
|
||||||
|
|
||||||
#ifndef NO_PTHREADS
|
if (HAVE_THREADS && num_threads) {
|
||||||
if (num_threads) {
|
|
||||||
/*
|
/*
|
||||||
* add_work() copies gs and thus assumes ownership of
|
* add_work() copies gs and thus assumes ownership of
|
||||||
* its fields, so do not call grep_source_clear()
|
* its fields, so do not call grep_source_clear()
|
||||||
*/
|
*/
|
||||||
add_work(opt, &gs);
|
add_work(opt, &gs);
|
||||||
return 0;
|
return 0;
|
||||||
} else
|
} else {
|
||||||
#endif
|
|
||||||
{
|
|
||||||
int hit;
|
int hit;
|
||||||
|
|
||||||
hit = grep_source(opt, &gs);
|
hit = grep_source(opt, &gs);
|
||||||
@ -1038,20 +1025,20 @@ int cmd_grep(int argc, const char **argv, const char *prefix)
|
|||||||
pathspec.recursive = 1;
|
pathspec.recursive = 1;
|
||||||
pathspec.recurse_submodules = !!recurse_submodules;
|
pathspec.recurse_submodules = !!recurse_submodules;
|
||||||
|
|
||||||
#ifndef NO_PTHREADS
|
if (HAVE_THREADS) {
|
||||||
if (list.nr || cached || show_in_pager)
|
if (list.nr || cached || show_in_pager)
|
||||||
|
num_threads = 0;
|
||||||
|
else if (num_threads == 0)
|
||||||
|
num_threads = GREP_NUM_THREADS_DEFAULT;
|
||||||
|
else if (num_threads < 0)
|
||||||
|
die(_("invalid number of threads specified (%d)"), num_threads);
|
||||||
|
if (num_threads == 1)
|
||||||
|
num_threads = 0;
|
||||||
|
} else {
|
||||||
|
if (num_threads)
|
||||||
|
warning(_("no threads support, ignoring --threads"));
|
||||||
num_threads = 0;
|
num_threads = 0;
|
||||||
else if (num_threads == 0)
|
}
|
||||||
num_threads = GREP_NUM_THREADS_DEFAULT;
|
|
||||||
else if (num_threads < 0)
|
|
||||||
die(_("invalid number of threads specified (%d)"), num_threads);
|
|
||||||
if (num_threads == 1)
|
|
||||||
num_threads = 0;
|
|
||||||
#else
|
|
||||||
if (num_threads)
|
|
||||||
warning(_("no threads support, ignoring --threads"));
|
|
||||||
num_threads = 0;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (!num_threads)
|
if (!num_threads)
|
||||||
/*
|
/*
|
||||||
@ -1062,15 +1049,13 @@ int cmd_grep(int argc, const char **argv, const char *prefix)
|
|||||||
*/
|
*/
|
||||||
compile_grep_patterns(&opt);
|
compile_grep_patterns(&opt);
|
||||||
|
|
||||||
#ifndef NO_PTHREADS
|
if (HAVE_THREADS && num_threads) {
|
||||||
if (num_threads) {
|
|
||||||
if (!(opt.name_only || opt.unmatch_name_only || opt.count)
|
if (!(opt.name_only || opt.unmatch_name_only || opt.count)
|
||||||
&& (opt.pre_context || opt.post_context ||
|
&& (opt.pre_context || opt.post_context ||
|
||||||
opt.file_break || opt.funcbody))
|
opt.file_break || opt.funcbody))
|
||||||
skip_first_line = 1;
|
skip_first_line = 1;
|
||||||
start_threads(&opt);
|
start_threads(&opt);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
if (show_in_pager && (cached || list.nr))
|
if (show_in_pager && (cached || list.nr))
|
||||||
die(_("--open-files-in-pager only works on the worktree"));
|
die(_("--open-files-in-pager only works on the worktree"));
|
||||||
|
6
grep.c
6
grep.c
@ -1513,7 +1513,6 @@ static void show_line(struct grep_opt *opt, char *bol, char *eol,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef NO_PTHREADS
|
|
||||||
int grep_use_locks;
|
int grep_use_locks;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1539,11 +1538,6 @@ static inline void grep_attr_unlock(void)
|
|||||||
*/
|
*/
|
||||||
pthread_mutex_t grep_read_mutex;
|
pthread_mutex_t grep_read_mutex;
|
||||||
|
|
||||||
#else
|
|
||||||
#define grep_attr_lock()
|
|
||||||
#define grep_attr_unlock()
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static int match_funcname(struct grep_opt *opt, struct grep_source *gs, char *bol, char *eol)
|
static int match_funcname(struct grep_opt *opt, struct grep_source *gs, char *bol, char *eol)
|
||||||
{
|
{
|
||||||
xdemitconf_t *xecfg = opt->priv;
|
xdemitconf_t *xecfg = opt->priv;
|
||||||
|
6
grep.h
6
grep.h
@ -229,7 +229,6 @@ int grep_source(struct grep_opt *opt, struct grep_source *gs);
|
|||||||
extern struct grep_opt *grep_opt_dup(const struct grep_opt *opt);
|
extern struct grep_opt *grep_opt_dup(const struct grep_opt *opt);
|
||||||
extern int grep_threads_ok(const struct grep_opt *opt);
|
extern int grep_threads_ok(const struct grep_opt *opt);
|
||||||
|
|
||||||
#ifndef NO_PTHREADS
|
|
||||||
/*
|
/*
|
||||||
* Mutex used around access to the attributes machinery if
|
* Mutex used around access to the attributes machinery if
|
||||||
* opt->use_threads. Must be initialized/destroyed by callers!
|
* opt->use_threads. Must be initialized/destroyed by callers!
|
||||||
@ -250,9 +249,4 @@ static inline void grep_read_unlock(void)
|
|||||||
pthread_mutex_unlock(&grep_read_mutex);
|
pthread_mutex_unlock(&grep_read_mutex);
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
|
||||||
#define grep_read_lock()
|
|
||||||
#define grep_read_unlock()
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user