В приведенном ниже коде у меня есть функция int GetTempString(char Query[]);
вызов в основном работает нормально.
Однако при вызове функции из вилки вилка зависает (останавливается, без ошибок, без вывода) перед этой строкой: pch = strtok (Query," ,");
printf показывает, что указатель на pch равен нулю . Опять же, это происходит только тогда, когда его выполняет форк.
Что я делаю не так?
int main()
{
if((Timer =fork())==-1) printf("Timer Fork Failed");
else if(Timer==0)
{
while(1)
{
sleep(2);
GetTempString("ch 1,2,3,4");
}
}
else
{
//CODE
GetTempString("ch 1,2,3,4");
}
}
int GetTempString(char Query[])
{
char * pch;
printf("DEBUG: '%s'-'%d'\n",Query,pch);
pch = strtok (Query," ,");//* PROBLEM HERE*
//while loop for strtok...
return 1;
}