did shared_lock has a member like visual c++ critical_section's owner? i use shared_lock in a game server, 
it has several hundred threads. if has owner, it more easy resolve deadlock.