this is just the outline of my problem .
please can somebody provide some solution.
int main()
{
Mainwindow w;
}
Mainwindow :: Mainwindow()
{
call_actions();
}
call_actions()
{
QProcess *newproc1 = QProcess;
pthread_create(tid,NULL,wait_for_message_from_appl,NULL);
}
int msgid;
int key = 0x1234;
void * wait_for_message_from_appl ( void *)
{
msgget(msgid);
msgrcv(msgid,msg);
if (msg == appl1)
launch(app1);
}
launch(app1)
{
QProcess *newproc2 = QProcess;
msgrcv(msgid); // this is failing saying Interrupted system call
wait_for_exit();// this will come from newproc2 , i will send msg
}
———————————————————————————
interface_file.c (newproc1 process)
msgid = msgget(0x1234);
msgsnd(app1); -- will go to wait_for_message_from_appl
———————————————————————
applicaion_file.c (newproc2process)
if(exit)
msgid = msgget(0x1234);
msgsnd(msgid,"exit");//----- this shoud go to newproc2
the second time i use msgrcv ( in newproc2) i am getting msg saying “Interrupted system call”.
what is problem.
please suggest me some other way by which i can achieve the same (my design skills are really poor)
↧