[boost] Question about the weak_ptr constructor with lock() call