diff options
Diffstat (limited to 'vm_sync.h')
| -rw-r--r-- | vm_sync.h | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -28,6 +28,10 @@ void rb_vm_lock_leave_body_nb(unsigned int *lev APPEND_LOCATION_ARGS); void rb_vm_lock_leave_body(unsigned int *lev APPEND_LOCATION_ARGS); void rb_vm_barrier(void); +RUBY_SYMBOL_EXPORT_BEGIN +VALUE rb_vm_lock_with_barrier(VALUE (*func)(void *args), void *args); +RUBY_SYMBOL_EXPORT_END + #if RUBY_DEBUG // GET_VM() #include "vm_core.h" @@ -142,11 +146,14 @@ rb_vm_lock_leave_cr(struct rb_ractor_struct *cr, unsigned int *levp, const char #if RUBY_DEBUG > 0 void RUBY_ASSERT_vm_locking(void); +void RUBY_ASSERT_vm_locking_with_barrier(void); void RUBY_ASSERT_vm_unlocking(void); #define ASSERT_vm_locking() RUBY_ASSERT_vm_locking() +#define ASSERT_vm_locking_with_barrier() RUBY_ASSERT_vm_locking_with_barrier() #define ASSERT_vm_unlocking() RUBY_ASSERT_vm_unlocking() #else #define ASSERT_vm_locking() +#define ASSERT_vm_locking_with_barrier() #define ASSERT_vm_unlocking() #endif |
