diff --git a/vlib/sync/mutex_test.v b/vlib/sync/mutex_test.v index 42bbffa948..3075024e4b 100644 --- a/vlib/sync/mutex_test.v +++ b/vlib/sync/mutex_test.v @@ -35,8 +35,8 @@ fn test_try_lock_mutex() { try_fail := mx.try_lock() assert try_fail == false mx.unlock() - try_sucess := mx.try_lock() - assert try_sucess == true - mx.unlock() // you must unlock it, after try_lock sucess + try_success := mx.try_lock() + assert try_success == true + mx.unlock() // you must unlock it, after try_lock success mx.destroy() } diff --git a/vlib/sync/rwmutex_test.v b/vlib/sync/rwmutex_test.v index b860b98dbb..e9b145db2b 100644 --- a/vlib/sync/rwmutex_test.v +++ b/vlib/sync/rwmutex_test.v @@ -51,12 +51,12 @@ fn test_try_lock_rwmutex() { mx.unlock() - // try_rlock will always sucess when mx unlocked, + // try_rlock will always succeed when mx unlocked, // multiple try_rlock can apply to the same mx - try_sucess_reading2 := mx.try_rlock() - try_sucess_reading3 := mx.try_rlock() - assert try_sucess_reading2 == true - assert try_sucess_reading3 == true + try_success_reading2 := mx.try_rlock() + try_success_reading3 := mx.try_rlock() + assert try_success_reading2 == true + assert try_success_reading3 == true // if mx is rlocked, then the try_wlock will fail try_fail_writing2 := mx.try_wlock() @@ -65,10 +65,10 @@ fn test_try_lock_rwmutex() { mx.runlock() mx.runlock() // you must release rlock mutiple times, as it was rlocked multiple times - // after mx release all rlock, try_wlock will sucess - try_sucess_writing3 := mx.try_wlock() - assert try_sucess_writing3 == true + // after mx release all rlock, try_wlock will succeed + try_success_writing3 := mx.try_wlock() + assert try_success_writing3 == true - mx.unlock() // you must unlock it, after try_wlock sucess + mx.unlock() // you must unlock it, after try_wlock success mx.destroy() } diff --git a/vlib/sync/sync_freebsd.c.v b/vlib/sync/sync_freebsd.c.v index f8a008dec3..99d9a3e9a5 100644 --- a/vlib/sync/sync_freebsd.c.v +++ b/vlib/sync/sync_freebsd.c.v @@ -41,22 +41,25 @@ pub struct C.pthread_mutex {} pub struct C.pthread_rwlock {} -pub struct C.pthread_rwlockattr {} +@[typedef] +pub struct C.pthread_rwlockattr_t {} @[typedef] pub struct C.sem_t {} // [init_with=new_mutex] // TODO: implement support for this struct attribute, and disallow Mutex{} from outside the sync.new_mutex() function. +@[heap] pub struct Mutex { mutex &C.pthread_mutex = unsafe { nil } } +@[heap] pub struct RwMutex { mutex &C.pthread_rwlock = unsafe { nil } } struct RwMutexAttr { - attr &C.pthread_rwlockattr = unsafe { nil } + attr C.pthread_rwlockattr_t } @[heap]