@@ -22,6 +22,7 @@ fn create_mutex(mutex: *mut *mut OpaqueMutex) -> u64 {
2222 } ) )
2323 . cast ( ) ;
2424 fn drop_mutex_f ( mutex : * mut u8 ) {
25+ eprintln ! ( "drop_mutex_f {:p}" , mutex) ;
2526 unsafe {
2627 drop ( Box :: from_raw ( mutex. cast :: < MutexContainer > ( ) ) ) ;
2728 }
@@ -32,11 +33,13 @@ fn create_mutex(mutex: *mut *mut OpaqueMutex) -> u64 {
3233
3334#[ is_runtime]
3435fn lock_mutex ( mutex : * mut OpaqueMutex ) -> u64 {
36+ eprintln ! ( "lock_mutex {:p}" , mutex) ;
3537 let container: & MutexContainer = & * mutex. cast ( ) ;
3638 // immix::thread_stuck_start();
3739 let lock: MutexGuard < ' static , _ > = mem:: transmute ( container. mutex . lock ( ) . unwrap ( ) ) ;
3840 // immix::thread_stuck_end();
3941 container. guard . set ( Some ( lock) ) ;
42+ eprintln ! ( "lock_mutex end {:p}" , mutex) ;
4043 0
4144}
4245
@@ -66,24 +69,30 @@ fn drop_condvar(cond: *mut Condvar) -> u64 {
6669
6770#[ is_runtime]
6871fn condvar_wait ( cond : * mut Condvar , mutex : * mut OpaqueMutex ) -> u64 {
72+ eprintln ! ( "condvar_wait {:p} {:p}" , cond, mutex) ;
6973 let container: & MutexContainer = & * mutex. cast ( ) ;
7074 let lock = container. guard . replace ( None ) . unwrap ( ) ;
7175 let cond = unsafe { & * cond } ;
7276 let lock = cond. wait :: < ( ) > ( lock) . unwrap ( ) ;
7377 container. guard . set ( Some ( lock) ) ;
78+ eprintln ! ( "condvar_wait end {:p} {:p}" , cond, mutex) ;
7479 0
7580}
7681
7782#[ is_runtime]
7883fn condvar_notify ( cond : * mut Condvar ) -> u64 {
84+ eprintln ! ( "condvar_notify {:p}" , cond) ;
7985 let cond = unsafe { & * cond } ;
8086 cond. notify_one ( ) ;
87+ eprintln ! ( "condvar_notify end {:p}" , cond) ;
8188 0
8289}
8390
8491#[ is_runtime]
8592fn condvar_notify_all ( cond : * mut Condvar ) -> u64 {
93+ eprintln ! ( "condvar_notify_all {:p}" , cond) ;
8694 let cond = unsafe { & * cond } ;
8795 cond. notify_all ( ) ;
96+ eprintln ! ( "condvar_notify_all end {:p}" , cond) ;
8897 0
8998}
0 commit comments