use simple lock/unlock instead of session thread