예제 #1
0
	{
	    $query="UPDATE `cc_callback_spool` SET `status`='ERROR_UNAVAILABLE',`id_server`='$manager_id' WHERE `id`=$cc_id";
	    if (!$A2B->DBHandle->Execute($query)) die("Can't execute query '$query'\n");
	}
	elseif($acc_max_busy<=$cc_num_attempts_busy)
	{
	    $query="UPDATE `cc_callback_spool` SET `status`='ERROR_BUSY',`id_server`='$manager_id' WHERE `id`=$cc_id";
	    if (!$A2B->DBHandle->Execute($query)) die("Can't execute query '$query'\n");
	}
	elseif($acc_max_noansw<=$cc_num_attempts_noanswer)
	{
	    $query="UPDATE `cc_callback_spool` SET `status`='ERROR_NO-ANSWER',`id_server`='$manager_id' WHERE `id`=$cc_id";
	    if (!$A2B->DBHandle->Execute($query)) die("Can't execute query '$query'\n");
	}
	else {
	    $A2B->DbDisconnect();
	    $pid=pcntl_fork();
	    if($pid==-1) {
		print("Can't fork!\n");
		exit(2);
	    }
	    elseif($pid) {
		pcntl_wait($status, WNOHANG);
		$A2B -> DbConnect($agi);
		$A2B -> set_instance_table ($instance_table);
	    }
	    else {
		ob_start();
		register_shutdown_function(create_function('$pars', 'ob_end_clean();posix_kill(getmypid(), SIGKILL);'), array());

		$A2B -> DbConnect($agi);