+ if ($room == FALSE) {
+ do {
+ ignore_user_abort(TRUE);
+ if (($sem = Room::lock_data()) == FALSE)
+ break;
+
+ log_only("P");
+ if (($room = &Room::load_data()) == FALSE)
+ break;
+ } while (0);
+
+ if ($sem != FALSE)
+ Room::unlock_data($sem);
+
+ ignore_user_abort(FALSE);
+ if ($room == FALSE)
+ return (FALSE);
+ }
+
+ if (($user = &$room->get_user($sess, $idx)) == FALSE) {