about summary refs log tree commit diff
path: root/third_party/git/compat/win32/pthread.h
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2021-09-21T10·03+0300
committerVincent Ambo <mail@tazj.in>2021-09-21T11·29+0300
commit43b1791ec601732ac31195df96781a848360a9ac (patch)
treedaae8d638343295d2f1f7da955e556ef4c958864 /third_party/git/compat/win32/pthread.h
parent2d8e7dc9d9c38127ec4ebd13aee8e8f586a43318 (diff)
chore(3p/git): Unvendor git and track patches instead r/2903
This was vendored a long time ago under the expectation that keeping
it in sync with cgit would be easier this way, but it has proven not
to be a big issue.

On the other hand, a vendored copy of git is an annoying maintenance
burden. It is much easier to rebase the single (dottime) patch that we
have.

This removes the vendored copy of git and instead passes the git
source code to cgit via `pkgs.srcOnly`, which includes the applied
patch so that cgit can continue rendering dottime.

Change-Id: If31f62dea7ce688fd1b9050204e9378019775f2b
Diffstat (limited to 'third_party/git/compat/win32/pthread.h')
-rw-r--r--third_party/git/compat/win32/pthread.h100
1 files changed, 0 insertions, 100 deletions
diff --git a/third_party/git/compat/win32/pthread.h b/third_party/git/compat/win32/pthread.h
deleted file mode 100644
index 737983d00bae..000000000000
--- a/third_party/git/compat/win32/pthread.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Header used to adapt pthread-based POSIX code to Windows API threads.
- *
- * Copyright (C) 2009 Andrzej K. Haczewski <ahaczewski@gmail.com>
- */
-
-#ifndef PTHREAD_H
-#define PTHREAD_H
-
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-
-#include <windows.h>
-
-/*
- * Defines that adapt Windows API threads to pthreads API
- */
-#define pthread_mutex_t CRITICAL_SECTION
-
-static inline int return_0(int i) {
-	return 0;
-}
-#define pthread_mutex_init(a,b) return_0((InitializeCriticalSection((a)), 0))
-#define pthread_mutex_destroy(a) DeleteCriticalSection((a))
-#define pthread_mutex_lock EnterCriticalSection
-#define pthread_mutex_unlock LeaveCriticalSection
-
-typedef int pthread_mutexattr_t;
-#define pthread_mutexattr_init(a) (*(a) = 0)
-#define pthread_mutexattr_destroy(a) do {} while (0)
-#define pthread_mutexattr_settype(a, t) 0
-#define PTHREAD_MUTEX_RECURSIVE 0
-
-#define pthread_cond_t CONDITION_VARIABLE
-
-#define pthread_cond_init(a,b) InitializeConditionVariable((a))
-#define pthread_cond_destroy(a) do {} while (0)
-#define pthread_cond_wait(a,b) return_0(SleepConditionVariableCS((a), (b), INFINITE))
-#define pthread_cond_signal WakeConditionVariable
-#define pthread_cond_broadcast WakeAllConditionVariable
-
-/*
- * Simple thread creation implementation using pthread API
- */
-typedef struct {
-	HANDLE handle;
-	void *(*start_routine)(void*);
-	void *arg;
-	DWORD tid;
-} pthread_t;
-
-int pthread_create(pthread_t *thread, const void *unused,
-		   void *(*start_routine)(void*), void *arg);
-
-/*
- * To avoid the need of copying a struct, we use small macro wrapper to pass
- * pointer to win32_pthread_join instead.
- */
-#define pthread_join(a, b) win32_pthread_join(&(a), (b))
-
-int win32_pthread_join(pthread_t *thread, void **value_ptr);
-
-#define pthread_equal(t1, t2) ((t1).tid == (t2).tid)
-pthread_t pthread_self(void);
-
-static inline void NORETURN pthread_exit(void *ret)
-{
-	ExitThread((DWORD)(intptr_t)ret);
-}
-
-typedef DWORD pthread_key_t;
-static inline int pthread_key_create(pthread_key_t *keyp, void (*destructor)(void *value))
-{
-	return (*keyp = TlsAlloc()) == TLS_OUT_OF_INDEXES ? EAGAIN : 0;
-}
-
-static inline int pthread_key_delete(pthread_key_t key)
-{
-	return TlsFree(key) ? 0 : EINVAL;
-}
-
-static inline int pthread_setspecific(pthread_key_t key, const void *value)
-{
-	return TlsSetValue(key, (void *)value) ? 0 : EINVAL;
-}
-
-static inline void *pthread_getspecific(pthread_key_t key)
-{
-	return TlsGetValue(key);
-}
-
-#ifndef __MINGW64_VERSION_MAJOR
-static inline int pthread_sigmask(int how, const sigset_t *set, sigset_t *oset)
-{
-	return 0;
-}
-#endif
-
-#endif /* PTHREAD_H */