diff --git a/tbsetup/swapexp.in b/tbsetup/swapexp.in index 96559d2b3f9064abbb4d95e7eaf8a3904fd823c8..b08ae5a1d466c6a15672f52ef2560bf7bd925717 100644 --- a/tbsetup/swapexp.in +++ b/tbsetup/swapexp.in @@ -393,12 +393,6 @@ my $idleswaptime = $experiment->idleswap_timeout() / 60.0; my $autoswaptime = $experiment->autoswap_timeout() / 60.0; my $rendering = $experiment->prerender_pid(); -# Need the previous swapper for rollback below. -my $last_swapper = User->Lookup($experiment->swapper_idx()); -if (! defined($last_swapper)) { - tbdie("Error looking up object for last swapper!"); -} - if ($inout ne "out") { # I'm going to update this below, so fix the value before I use it. $idleswap_time = min($idleswaptime * 60, $idleswap_time); @@ -725,6 +719,12 @@ $justexit = 0; $experiment->UnLockTables(); +# Need the previous swapper for rollback below. Safe now that tables unlocked. +my $last_swapper = User->Lookup($experiment->swapper_idx()); +if (! defined($last_swapper)) { + tbdie("Error looking up object for last swapper!"); +} + # # XXX - At this point a failure is going to leave things in an # inconsistent state. Be sure to call fatal() only since we are