From 7b3c35107d95b3b3ea391e0131ae794411a97128 Mon Sep 17 00:00:00 2001 From: Jakob Sack Date: Thu, 9 Aug 2012 23:49:20 +0200 Subject: [PATCH] Error handling works better now --- cron.php | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/cron.php b/cron.php index 646e37e4c1..cb01152360 100644 --- a/cron.php +++ b/cron.php @@ -20,17 +20,19 @@ * */ -function handleCliShutdown() { - $error = error_get_last(); - if($error !== NULL){ - echo 'Unexpected error!'.PHP_EOL; - } +// Unfortunately we need this class for shutdown function +class my_temporary_cron_class { + public static $sent = false; } -function handleWebShutdown(){ - $error = error_get_last(); - if($error !== NULL){ - OC_JSON::error( array( 'data' => array( 'message' => 'Unexpected error!'))); +function handleUnexpectedShutdown() { + if( !my_temporary_cron_class::$sent ){ + if( OC::$CLI ){ + echo 'Unexpected error!'.PHP_EOL; + } + else{ + OC_JSON::error( array( 'data' => array( 'message' => 'Unexpected error!'))); + } } } @@ -59,9 +61,11 @@ else{ register_shutdown_function('handleWebShutdown'); if( $appmode == 'cron' ){ OC_JSON::error( array( 'data' => array( 'message' => 'Backgroundjobs are using system cron!'))); - exit(); } - OC_BackgroundJob_Worker::doNextStep(); - OC_JSON::success(); + else{ + OC_BackgroundJob_Worker::doNextStep(); + OC_JSON::success(); + } } +my_temporary_cron_class::$sent = true; exit();