callco()_

junyata의 이미지

int make()

{

return callco(data);

}

void data()

{

for(;;)

{

...

....

...

callco(create,FLAG);

bit =0;

...

...

}

}

위와 같이 있을때 make()에서 callco(data)를 호출하면 data()함수를 먼저 실행합니다.

그러다가 callco(create,FLAG); 를 만나게 되면 FLAG를 리턴하고 무조건 (wait)기다립니다. ..

다시 callco(data);가 호출될까지 기다립니다...

callco(data); 가 호출되면 data()함수 처음부터 실행하는게 아니라 아까 기다리고 있던 callco(create,FLAG);다음

행부터 실행하게 해야하는데...

어떻게 코딩을 해야할지 막막해서 도움을 얻고자 합니다.