i defined two task--taskOne and taskTwo. TaskOne sends the message
"i love vxworks",TaskTwo receives the message,if receives
sucessfully,printf the message.when i execute them,it appears error in
shell:

instruction access
Exception next instruction address: 0xeeeeeeec
Machine Status Register: 0x08209030
Condition Register: 0x00000000
Task: 0x7027c8 "t1"

instruction access
Exception next instruction address: 0xeeeeeeec
Machine Status Register: 0x08209030
Condition Register: 0x00000000
Task: 0x6fd790 "t2"

why does Task2 recesive the message "i love vxworks"? what's the
meaning of all the alarm message in the shell??
all code is listed below:


#include "vxWorks.h"
#include "msgQLib.h"

void taskOne(void);
void taskTwo(void);

#define MAX_MESSAGES 10
#define MAX_MESSAGE_LENGTH 20

MSG_Q_ID mesgQueueId;

void messaget(void)
{
int taskIdOne,taskIdTwo;

if(mesgQueueId=(msgQCreate(MAX_MESSAGES,MAX_MESSAG E_LENGTH,MSG_Q_FIFO))==NULL)
printf("msgQCreate in failed.\n");

if((taskIdOne=taskSpawn("t1",90,0x100,2000,(FUNCPTR)taskIdOne,0,0,0,0,0,0,0,0, 0,0))==ERROR)
printf("taskSpawn taskOne failed.\n");


if((taskIdTwo=taskSpawn("t2",90,0x100,2000,(FUNCPTR)taskIdTwo,0,0,0,0,0,0,0,0, 0,0))==ERROR)
printf("taskSpawn taskIdTwo failed.\n");
}

void taskOne(void)
{
char message[]="i love vxworks";

if((msgQSend(mesgQueueId,message,MAX_MESSAGE_LENGT H,WAIT_FOREVER,MSG_PRI_NORMAL))==ERROR)
printf("msgQSend in taskOne failed.\n");
}

void taskTwo(void)
{
char msgBuf[MAX_MESSAGE_LENGTH];

if((msgQReceive(mesgQueueId,msgBuf,MAX_MESSAGE_LEN GTH,WAIT_FOREVER))==ERROR)
printf("msgQReceive in taskTwo failed.\n");
else
printf("%s\n",msgBuf);

msgQDelete(mesgQueueId);
}