- 论坛徽章:
- 0
|
两个模块,其中一个模块调用另一个模块中的函数发送TCP包给服务器。
模块1,实现和服务器的连接,EXPORT出让模块2调用的函数func,函数实现如下:
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 全局变量,已经和服务器连接上 */
if(ret<0)
{
printk("client: kernel_sendmsg error(%d)!\n", ret);
return ret;
}
else if(ret!=len)
{
printk("client: ret!=(%d)", len);
}
}
模块2调用func发送数据。
结果内核会崩溃。
不清楚是什么原因。。。各位大神有何见解?
|
|