C Wie gebe ich Statuscode des Kindprozesses aus?

BookOfLove

Cadet 3rd Year
Registriert
Dez. 2015
Beiträge
32
Ich habe folgende Funktion:
Falls b UNGLEICh 0 ist, soll a*b zurückgegeben werden.
Falls nicht(Also b GLEICH 0), soll ein Kindprozess erzeugt werden, der Elternprozess soll auf die Beendigung des Kindprozesses warten und den Statuscode als Rückgabewert von mul zurückgeben.

Ich bin mir unsicher, ob wait(&status) der Statuscode ist oder WEXITSTATUS(status) richtig ist
Code:
int mul(int a, int b)
{
pid_t child_pid;
int status;

if(b==0)
{
  child_pid = fork();
  if(child_pid >=0)
  {
    if(child_pid>0)
      {
          wait(&status);
          return WEXITSTATUS(status); //Ist dies der Statuscode?
       
        }


   }

   else
    {
       printf("Es ist ein Fehler aufgetreten");
       return 1;
      }



}


return a*b;

}
 
Das kannst du selbst nachlesen und zwar viel besser und schneller als dir hier je einer antworten würde.
Code:
man 2 wait
 
Zurück
Oben