diff --git a/WEB/Controller/UserController.php b/WEB/Controller/UserController.php index fd3eefa5..fd2ce7c7 100644 --- a/WEB/Controller/UserController.php +++ b/WEB/Controller/UserController.php @@ -173,22 +173,27 @@ class UserController $model = new UserModel(); // $model->addToQueue(); $client = Client::getInstance(); - $pid = pcntl_fork(); - if ($pid == -1) { - die('could not fork'); - } else if ($pid) { - // we are the parent - require($rep . $vues['queue']); - $ret=pcntl_wait($status); //Protect against Zombie children - if ($ret==-1 || !pcntl_wifexited($status)) { - $error = "Erreur Inconnue"; - require($rep . $vues['erreur']); - } - } else { - // we are the child - sleep(20); - // $client->Queuing(); - } + switch ($pid = pcntl_fork()) { + case -1: + // @fail + die('Fork failed'); + break; + + case 0: + // @child: Include() misbehaving code here + sleep(20); + break; + + default: + // @parent + require($rep . $vues['queue']); + $ret=pcntl_wait($status); //Protect against Zombie children + if ($ret == -1 || !pcntl_wifexited($status)) { + $error = "Erreur Inconnue"; + require($rep . $vues['erreur']); + } + break; + } } catch (Exception $e) { $error = $e->getMessage(); require($rep . $vues['erreur']);