C.wrap_pthread_mutex_lock

This commit is contained in:
xushiwei
2024-07-27 09:28:09 +08:00
parent e69306a2ba
commit 2cd9994321
2 changed files with 16 additions and 8 deletions

View File

@@ -5,3 +5,15 @@
pthread_once_t llgoSyncOnceInitVal = PTHREAD_ONCE_INIT;
// -----------------------------------------------------------------------------
// wrap return type to void
void wrap_pthread_mutex_lock(pthread_mutex_t *mutex) {
pthread_mutex_lock(mutex);
}
// wrap return type to void
void wrap_pthread_mutex_unlock(pthread_mutex_t *mutex) {
pthread_mutex_unlock(mutex);
}
// -----------------------------------------------------------------------------

View File

@@ -79,15 +79,11 @@ func (m *Mutex) Destroy() {}
// llgo:link (*Mutex).TryLock C.pthread_mutex_trylock
func (m *Mutex) TryLock() c.Int { return 0 }
func (m *Mutex) Lock() { lockInternal(m) }
// llgo:link (*Mutex).Lock C.wrap_pthread_mutex_lock
func (m *Mutex) Lock() {}
func (m *Mutex) Unlock() { unlockInternal(m) }
//go:linkname lockInternal C.pthread_mutex_lock
func lockInternal(m *Mutex) c.Int
//go:linkname unlockInternal C.pthread_mutex_unlock
func unlockInternal(m *Mutex) c.Int
// llgo:link (*Mutex).Unlock C.wrap_pthread_mutex_unlock
func (m *Mutex) Unlock() {}
// -----------------------------------------------------------------------------