- 論壇徽章:
- 0
|
兩個模塊,其中一個模塊調(diào)用另一個模塊中的函數(shù)發(fā)送TCP包給服務(wù)器。
模塊1,實現(xiàn)和服務(wù)器的連接,EXPORT出讓模塊2調(diào)用的函數(shù)func,函數(shù)實現(xiàn)如下:
unsigned int func(u8 MicNr, u16 FrameNr, void *data, u32 len)
{
int ret = 0;
#if 1
struct kvec vec;
struct msghdr msg;
vec.iov_base = data;
vec.iov_len = len;
memset(&msg,0,sizeof(msg));
ret = kernel_sendmsg(sock,&msg,&vec,1,len); /*sock 全局變量,已經(jīng)和服務(wù)器連接上 */
if(ret<0)
{
printk("client: kernel_sendmsg error(%d)!\n", ret);
return ret;
}
else if(ret!=len)
{
printk("client: ret!=(%d)", len);
}
}
模塊2調(diào)用func發(fā)送數(shù)據(jù)。
結(jié)果內(nèi)核會崩潰。
不清楚是什么原因。。。各位大神有何見解?
|
|