mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-06 11:19:47 +00:00
React to review feedback
This commit is contained in:
parent
fb5917679d
commit
1b4e29b7f6
@ -40,21 +40,16 @@ typedef git_atomic git_atomic_ssize;
|
|||||||
|
|
||||||
#ifdef GIT_THREADS
|
#ifdef GIT_THREADS
|
||||||
|
|
||||||
#if defined(GIT_WIN32)
|
#if !defined(GIT_WIN32)
|
||||||
|
|
||||||
#define git_thread git_win32_thread
|
typedef struct {
|
||||||
#define git_thread_create(thread, attr, start_routine, arg) \
|
pthread_t thread;
|
||||||
git_win32__thread_create(thread, attr, start_routine, arg)
|
} git_thread;
|
||||||
#define git_thread_join(thread_ptr, status) \
|
|
||||||
git_win32__thread_join(thread_ptr, status)
|
|
||||||
|
|
||||||
#else
|
#define git_thread_create(git_thread_ptr, attr, start_routine, arg) \
|
||||||
|
pthread_create(&(git_thread_ptr)->thread, attr, start_routine, arg)
|
||||||
#define git_thread pthread_t
|
#define git_thread_join(git_thread_ptr, status) \
|
||||||
#define git_thread_create(thread, attr, start_routine, arg) \
|
pthread_join((git_thread_ptr)->thread, status)
|
||||||
pthread_create(thread, attr, start_routine, arg)
|
|
||||||
#define git_thread_join(thread_ptr, status) \
|
|
||||||
pthread_join(*(thread_ptr), status)
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ static DWORD WINAPI git_win32__threadproc(LPVOID lpParameter)
|
|||||||
{
|
{
|
||||||
git_win32_thread *thread = lpParameter;
|
git_win32_thread *thread = lpParameter;
|
||||||
|
|
||||||
thread->value = thread->proc(thread->value);
|
thread->result = thread->proc(thread->param);
|
||||||
|
|
||||||
return CLEAN_THREAD_EXIT;
|
return CLEAN_THREAD_EXIT;
|
||||||
}
|
}
|
||||||
@ -31,7 +31,8 @@ int git_win32__thread_create(
|
|||||||
{
|
{
|
||||||
GIT_UNUSED(attr);
|
GIT_UNUSED(attr);
|
||||||
|
|
||||||
thread->value = arg;
|
thread->result = NULL;
|
||||||
|
thread->param = arg;
|
||||||
thread->proc = start_routine;
|
thread->proc = start_routine;
|
||||||
thread->thread = CreateThread(
|
thread->thread = CreateThread(
|
||||||
NULL, 0, git_win32__threadproc, thread, 0, NULL);
|
NULL, 0, git_win32__threadproc, thread, 0, NULL);
|
||||||
@ -57,11 +58,11 @@ int git_win32__thread_join(
|
|||||||
* then we don't have a return value to give back to the caller. */
|
* then we don't have a return value to give back to the caller. */
|
||||||
if (exit != CLEAN_THREAD_EXIT) {
|
if (exit != CLEAN_THREAD_EXIT) {
|
||||||
assert(false);
|
assert(false);
|
||||||
thread->value = NULL;
|
thread->result = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (value_ptr)
|
if (value_ptr)
|
||||||
*value_ptr = thread->value;
|
*value_ptr = thread->result;
|
||||||
|
|
||||||
CloseHandle(thread->thread);
|
CloseHandle(thread->thread);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -19,7 +19,8 @@
|
|||||||
typedef struct {
|
typedef struct {
|
||||||
HANDLE thread;
|
HANDLE thread;
|
||||||
void *(*proc)(void *);
|
void *(*proc)(void *);
|
||||||
void *value;
|
void *param;
|
||||||
|
void *result;
|
||||||
} git_win32_thread;
|
} git_win32_thread;
|
||||||
|
|
||||||
typedef int pthread_mutexattr_t;
|
typedef int pthread_mutexattr_t;
|
||||||
@ -51,6 +52,17 @@ int git_win32__thread_join(
|
|||||||
git_win32_thread *,
|
git_win32_thread *,
|
||||||
void **);
|
void **);
|
||||||
|
|
||||||
|
#ifdef GIT_THREADS
|
||||||
|
|
||||||
|
typedef git_win32_thread git_thread;
|
||||||
|
|
||||||
|
#define git_thread_create(git_thread_ptr, attr, start_routine, arg) \
|
||||||
|
git_win32__thread_create(git_thread_ptr, attr, start_routine, arg)
|
||||||
|
#define git_thread_join(git_thread_ptr, status) \
|
||||||
|
git_win32__thread_join(git_thread_ptr, status)
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
int pthread_mutex_init(
|
int pthread_mutex_init(
|
||||||
pthread_mutex_t *GIT_RESTRICT mutex,
|
pthread_mutex_t *GIT_RESTRICT mutex,
|
||||||
const pthread_mutexattr_t *GIT_RESTRICT mutexattr);
|
const pthread_mutexattr_t *GIT_RESTRICT mutexattr);
|
||||||
|
Loading…
Reference in New Issue
Block a user