my $dbh = DBI->connect( ... {AutoCommit => 1, ..} ) ... >> perform some method call here < < local $dbh->{AutoCommit} = 0; eval { # call to EmitSignal on the parent object $this->EmitSignal( $event_id, @extra_args ); # call to Update on another object call "Thread" $thread->Update(); #Serialize thread. $dbh->commit(); }; if ($@) { $dbh->rollback(); die $@; } local $dbh->{AutoCommit} = 1; ...