boost::timed_mutex::timed_mutex (this=0x660360) at /usr/include/boost/thread/pthread/mutex.hpp:89 89 int const res=pthread_mutex_init(&m,NULL); (gdb) p m $2 = { __data = { __lock = -178011560, __count = 32767, __owner = -178011560, __nusers = 32767, __kind = 16, __spins = 32767, __list = { __prev = 0x660390, __next = 0x0 } }, __size = "X\302c\365\377\177\000\000X\302c\365\377\177\000\000\020\000\000\000\377\177\000\000\220\003f", '\000' , __align = 140737310343768 } (gdb) p &m $1 = (pthread_mutex_t *) 0x660360 (gdb) n 90 if(res) (gdb) p m $3 = { __data = { __lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __list = { __prev = 0x0, __next = 0x0 } }, __size = '\000' , __align = 0 } (gdb) p &m $4 = (pthread_mutex_t *) 0x660360 .. later .. boost::timed_mutex::lock (this=0x7ffff6325aff) at /usr/include/boost/thread/pthread/mutex.hpp:125 125 int res = pthread_mutex_lock(&m); (gdb) p &m $5 = (pthread_mutex_t *) 0x7ffff6325aff (gdb) p m $6 = { __data = { __lock = 1316250983, __count = 1701015151, __owner = 1986356224, __nusers = 1684955506, __kind = 1713401199, __spins = 1701603681, __list = { __prev = 0x40000010064, __next = 0x500 } }, __size = "getNonce\000devrandom failed\000\001\000\000\004\000\000\000\005\000\000\000\000\000", __align = 7305804444861752679 } (gdb) n 126 switch (res) { (gdb) p res $8 = 22