nonblocking stm