Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
index-pack: remove #ifdef NO_PTHREADS
author
Nguyễn Thái Ngọc Duy
<pclouds@gmail.com>
Sat, 3 Nov 2018 08:48:40 +0000
(09:48 +0100)
committer
Junio C Hamano
<gitster@pobox.com>
Mon, 5 Nov 2018 04:42:11 +0000
(13:42 +0900)
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/index-pack.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
c0e40a2
)
diff --git
a/builtin/index-pack.c
b/builtin/index-pack.c
index 2004e25da230c7d9f0b1e951d8a59dca2d9d08b8..682042579b36828864cb74d41d84a7cff0516bab 100644
(file)
--- a/
builtin/index-pack.c
+++ b/
builtin/index-pack.c
@@
-42,9
+42,7
@@
struct base_data {
};
struct thread_local {
};
struct thread_local {
-#ifndef NO_PTHREADS
pthread_t thread;
pthread_t thread;
-#endif
struct base_data *base_cache;
size_t base_cache_used;
int pack_fd;
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;
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;
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);
}
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)
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)
{
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;
}
return ¬hread_data;
}
-#ifndef NO_PTHREADS
static void set_thread_data(struct thread_local *data)
{
if (threads_active)
pthread_setspecific(key, data);
}
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)
{
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);
}
find_unresolved_deltas(base_obj);
}
-#ifndef NO_PTHREADS
static void *threaded_second_pass(void *data)
{
set_thread_data(data);
static void *threaded_second_pass(void *data)
{
set_thread_data(data);
@@
-1116,7
+1089,6
@@
static void *threaded_second_pass(void *data)
}
return NULL;
}
}
return NULL;
}
-#endif
/*
* First pass:
/*
* First pass:
@@
-1213,7
+1185,6
@@
static void resolve_deltas(void)
progress = start_progress(_("Resolving deltas"),
nr_ref_deltas + nr_ofs_deltas);
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();
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;
}
cleanup_thread();
return;
}
-#endif
for (i = 0; i < nr_objects; i++) {
struct object_entry *obj = &objects[i];
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);
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);
warning(_("no threads support, ignoring %s"), k);
- nr_threads = 1;
-#endif
+
nr_threads = 1;
+ }
return 0;
}
return git_default_config(k, v, cb);
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);
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;
} 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;
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;
}
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();
curr_pack = open_pack_file(pack_name);
parse_pack_header();