以下に示すように、メインから 3 つ以上のタイマーを実行し、メイン セクションで 1 つのメッセージ キューを定義しました。タイマーの有効期限は 10 (最大) です。タイマーが切れると、"msgrcv" が "Interrupted system call" のようなエラーを出すのはなぜですか?
timer_t timer1 = create_timer(TT_SIGUSR1);
install_sighandler(TT_SIGUSR1, signal_handler);
set_timer(timer1, TIME_INTERVAL_1);
-
-
-
flag = IPC_CREAT | 0666;
key = 1234;
msgqid = msgget(key,flag);
printf("msgqid = %d\n",msgqid);
while (1)
{
msgsz = msgrcv(msgqid, &sendMsg, sizeof(sendMsg), 0,0);
perror("prashant");
sleep(1);
}
return 0;