• 0

Problem with wait() system call


Question

I'm writing a very simple program in linux to fork a child process. The only problem is that when I have the parent process call wait(&status), i get an error that says " 'status' declared as reference but not initialized" status is defined as int status; right in main so i'm not sure what the hell I am doing wrong, although I'm sure it's something simple. Can anyone offer some suggestions?

Link to comment
https://www.neowin.net/forum/topic/143493-problem-with-wait-system-call/
Share on other sites

11 answers to this question

Recommended Posts

  • 0

Thanks for the offer, but i'd rather not give out the code since it's a hw assignment, university's can be extremely anal when it comes to this sort of thing. I tried changing the variable name and i got the same error. I'm using the g++ compiler. I guess i'll just try to compile it on unix to see if i get the same error. I named the .out file fork, maybe that's causing a problem? In any case i'll try it tomorrow and let you know what happens. Thanks for the input.

  • 0

Hmm, i just tried the code you posted, this is what I got:

nclude <iostream>

using namespace std;

#include <sys/types.h>

#include <unistd.h>

int main(void)

{

int status;

if (fork() == 0)

{

return -1;

}

wait(&status);

return 0;

}

errors:

fork2.cpp: In function `int main()':

fork2.cpp:14: conflicting types for `wait&status'

fork2.cpp:9: previous declaration as `int status'

fork2.cpp:14: `status' declared as reference but not initialized

  • 0
  PseudoRandomDragon said:
I couldn't compile the code for you, didn't have all the libraries. Curse you Borland C++...

fork is not supported in windows.

In Windows, you would use CreateProcess to get an equivalent functionality (not completely)

Cygwin is the only library I know of which has fork() implemented for Windows.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.