|
@@ 2829-2837 (lines=9) @@
|
| 2826 |
|
do { // callbacks may add callbacks :) |
| 2827 |
|
$callbacks = $this->mTrxPreCommitCallbacks; |
| 2828 |
|
$this->mTrxPreCommitCallbacks = []; // consumed (and recursion guard) |
| 2829 |
|
foreach ( $callbacks as $callback ) { |
| 2830 |
|
try { |
| 2831 |
|
list( $phpCallback ) = $callback; |
| 2832 |
|
call_user_func( $phpCallback ); |
| 2833 |
|
} catch ( Exception $ex ) { |
| 2834 |
|
MWExceptionHandler::logException( $ex ); |
| 2835 |
|
$e = $e ?: $ex; |
| 2836 |
|
} |
| 2837 |
|
} |
| 2838 |
|
} while ( count( $this->mTrxPreCommitCallbacks ) ); |
| 2839 |
|
|
| 2840 |
|
if ( $e instanceof Exception ) { |
|
@@ 2862-2870 (lines=9) @@
|
| 2859 |
|
/** @var Exception $e */ |
| 2860 |
|
$e = null; // first exception |
| 2861 |
|
|
| 2862 |
|
foreach ( $this->mTrxRecurringCallbacks as $callback ) { |
| 2863 |
|
try { |
| 2864 |
|
list( $phpCallback ) = $callback; |
| 2865 |
|
$phpCallback( $trigger, $this ); |
| 2866 |
|
} catch ( Exception $ex ) { |
| 2867 |
|
MWExceptionHandler::logException( $ex ); |
| 2868 |
|
$e = $e ?: $ex; |
| 2869 |
|
} |
| 2870 |
|
} |
| 2871 |
|
|
| 2872 |
|
if ( $e instanceof Exception ) { |
| 2873 |
|
throw $e; // re-throw any first exception |