Commit 5c0fd7b9 by Chris Young

allow disabling pthreads for testing

parent bb502fa8
...@@ -36,7 +36,9 @@ static void *download(void *ptr) ...@@ -36,7 +36,9 @@ static void *download(void *ptr)
exit: exit:
data->finished = 1; data->finished = 1;
#ifndef NO_PTHREADS
pthread_exit(&data->ret); pthread_exit(&data->ret);
#endif
} }
int update_cb(const char *refname, const git_oid *a, const git_oid *b) int update_cb(const char *refname, const git_oid *a, const git_oid *b)
...@@ -81,6 +83,9 @@ int fetch(git_repository *repo, int argc, char **argv) ...@@ -81,6 +83,9 @@ int fetch(git_repository *repo, int argc, char **argv)
data.finished = 0; data.finished = 0;
memset(&stats, 0, sizeof(stats)); memset(&stats, 0, sizeof(stats));
#ifdef NO_PTHREADS
download(&data);
#else
pthread_create(&worker, NULL, download, &data); pthread_create(&worker, NULL, download, &data);
// Loop while the worker thread is still running. Here we show processed // Loop while the worker thread is still running. Here we show processed
...@@ -91,6 +96,7 @@ int fetch(git_repository *repo, int argc, char **argv) ...@@ -91,6 +96,7 @@ int fetch(git_repository *repo, int argc, char **argv)
usleep(10000); usleep(10000);
printf("\rReceived %d/%d objects in %d bytes", stats.processed, stats.total, bytes); printf("\rReceived %d/%d objects in %d bytes", stats.processed, stats.total, bytes);
} while (!data.finished); } while (!data.finished);
#endif
printf("\rReceived %d/%d objects in %d bytes\n", stats.processed, stats.total, bytes); printf("\rReceived %d/%d objects in %d bytes\n", stats.processed, stats.total, bytes);
// Disconnect the underlying connection to prevent from idling. // Disconnect the underlying connection to prevent from idling.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment