index-pack: remove #ifdef NO_PTHREADS
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
c0e40a2d66
commit
2094c5e582
@ -42,9 +42,7 @@ struct base_data {
|
||||
};
|
||||
|
||||
struct thread_local {
|
||||
#ifndef NO_PTHREADS
|
||||
pthread_t thread;
|
||||
#endif
|
||||
struct base_data *base_cache;
|
||||
size_t base_cache_used;
|
||||
int pack_fd;
|
||||
@ -98,8 +96,6 @@ static uint32_t input_crc32;
|
||||
static int input_fd, output_fd;
|
||||
static const char *curr_pack;
|
||||
|
||||
#ifndef NO_PTHREADS
|
||||
|
||||
static struct thread_local *thread_data;
|
||||
static int nr_dispatched;
|
||||
static int threads_active;
|
||||
@ -179,26 +175,6 @@ static void cleanup_thread(void)
|
||||
free(thread_data);
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
#define read_lock()
|
||||
#define read_unlock()
|
||||
|
||||
#define counter_lock()
|
||||
#define counter_unlock()
|
||||
|
||||
#define work_lock()
|
||||
#define work_unlock()
|
||||
|
||||
#define deepest_delta_lock()
|
||||
#define deepest_delta_unlock()
|
||||
|
||||
#define type_cas_lock()
|
||||
#define type_cas_unlock()
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
static int mark_link(struct object *obj, int type, void *data, struct fsck_options *options)
|
||||
{
|
||||
if (!obj)
|
||||
@ -364,22 +340,20 @@ static NORETURN void bad_object(off_t offset, const char *format, ...)
|
||||
|
||||
static inline struct thread_local *get_thread_data(void)
|
||||
{
|
||||
#ifndef NO_PTHREADS
|
||||
if (threads_active)
|
||||
return pthread_getspecific(key);
|
||||
assert(!threads_active &&
|
||||
"This should only be reached when all threads are gone");
|
||||
#endif
|
||||
if (HAVE_THREADS) {
|
||||
if (threads_active)
|
||||
return pthread_getspecific(key);
|
||||
assert(!threads_active &&
|
||||
"This should only be reached when all threads are gone");
|
||||
}
|
||||
return ¬hread_data;
|
||||
}
|
||||
|
||||
#ifndef NO_PTHREADS
|
||||
static void set_thread_data(struct thread_local *data)
|
||||
{
|
||||
if (threads_active)
|
||||
pthread_setspecific(key, data);
|
||||
}
|
||||
#endif
|
||||
|
||||
static struct base_data *alloc_base_data(void)
|
||||
{
|
||||
@ -1092,7 +1066,6 @@ static void resolve_base(struct object_entry *obj)
|
||||
find_unresolved_deltas(base_obj);
|
||||
}
|
||||
|
||||
#ifndef NO_PTHREADS
|
||||
static void *threaded_second_pass(void *data)
|
||||
{
|
||||
set_thread_data(data);
|
||||
@ -1116,7 +1089,6 @@ static void *threaded_second_pass(void *data)
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* First pass:
|
||||
@ -1213,7 +1185,6 @@ static void resolve_deltas(void)
|
||||
progress = start_progress(_("Resolving deltas"),
|
||||
nr_ref_deltas + nr_ofs_deltas);
|
||||
|
||||
#ifndef NO_PTHREADS
|
||||
nr_dispatched = 0;
|
||||
if (nr_threads > 1 || getenv("GIT_FORCE_THREADS")) {
|
||||
init_thread();
|
||||
@ -1229,7 +1200,6 @@ static void resolve_deltas(void)
|
||||
cleanup_thread();
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
for (i = 0; i < nr_objects; i++) {
|
||||
struct object_entry *obj = &objects[i];
|
||||
@ -1531,11 +1501,10 @@ static int git_index_pack_config(const char *k, const char *v, void *cb)
|
||||
if (nr_threads < 0)
|
||||
die(_("invalid number of threads specified (%d)"),
|
||||
nr_threads);
|
||||
#ifdef NO_PTHREADS
|
||||
if (nr_threads != 1)
|
||||
if (!HAVE_THREADS && nr_threads != 1) {
|
||||
warning(_("no threads support, ignoring %s"), k);
|
||||
nr_threads = 1;
|
||||
#endif
|
||||
nr_threads = 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
return git_default_config(k, v, cb);
|
||||
@ -1723,12 +1692,10 @@ int cmd_index_pack(int argc, const char **argv, const char *prefix)
|
||||
nr_threads = strtoul(arg+10, &end, 0);
|
||||
if (!arg[10] || *end || nr_threads < 0)
|
||||
usage(index_pack_usage);
|
||||
#ifdef NO_PTHREADS
|
||||
if (nr_threads != 1)
|
||||
warning(_("no threads support, "
|
||||
"ignoring %s"), arg);
|
||||
nr_threads = 1;
|
||||
#endif
|
||||
if (!HAVE_THREADS && nr_threads != 1) {
|
||||
warning(_("no threads support, ignoring %s"), arg);
|
||||
nr_threads = 1;
|
||||
}
|
||||
} else if (starts_with(arg, "--pack_header=")) {
|
||||
struct pack_header *hdr;
|
||||
char *c;
|
||||
@ -1791,14 +1758,12 @@ int cmd_index_pack(int argc, const char **argv, const char *prefix)
|
||||
if (strict)
|
||||
opts.flags |= WRITE_IDX_STRICT;
|
||||
|
||||
#ifndef NO_PTHREADS
|
||||
if (!nr_threads) {
|
||||
if (HAVE_THREADS && !nr_threads) {
|
||||
nr_threads = online_cpus();
|
||||
/* An experiment showed that more threads does not mean faster */
|
||||
if (nr_threads > 3)
|
||||
nr_threads = 3;
|
||||
}
|
||||
#endif
|
||||
|
||||
curr_pack = open_pack_file(pack_name);
|
||||
parse_pack_header();
|
||||
|
Loading…
Reference in New Issue
Block a user