加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – Valgind中的错误VgTs_WaitSys是什么意思?

发布时间:2020-12-16 06:57:15 所属栏目:百科 来源:网络整理
导读:我有一个用C编写的服务器,它会在新客户端连接时生成一个新线程.为了测试我的服务器,我编写了一个模拟500个客户端的脚本.服务器处理前几百个客户端,最后我从Valgrind得到以下错误: Thread 456: status = VgTs_WaitSys==4182== at 0x4E383EC: recv (recv.c:34
我有一个用C编写的服务器,它会在新客户端连接时生成一个新线程.为了测试我的服务器,我编写了一个模拟500个客户端的脚本.服务器处理前几百个客户端,最后我从Valgrind得到以下错误:

Thread 456: status = VgTs_WaitSys
==4182==    at 0x4E383EC: recv (recv.c:34)
==4182==    by 0x4017F1: process_data (socket2.h:45)
==4182==    by 0x40195E: thread (FBServer.c:82)
==4182==    by 0x4E30A03: start_thread (pthread_create.c:300)
==4182==    by 0x532DD4C: clone (clone.S:112)

Thread 457: status = VgTs_WaitSys
==4182==    at 0x4E383EC: recv (recv.c:34)
==4182==    by 0x4017F1: process_data (socket2.h:45)
==4182==    by 0x40195E: thread (FBServer.c:82)
==4182==    by 0x4E30A03: start_thread (pthread_create.c:300)
==4182==    by 0x532DD4C: clone (clone.S:112)

...

Thread 499: status = VgTs_WaitSys
==4182==    at 0x4E383EC: recv (recv.c:34)
==4182==    by 0x4017F1: process_data (socket2.h:45)
==4182==    by 0x40195E: thread (FBServer.c:82)
==4182==    by 0x4E30A03: start_thread (pthread_create.c:300)
==4182==    by 0x532DD4C: clone (clone.S:112)

在FBServer.c的第82行,该线程调用一个名为process_data的函数,该函数从客户端接收数据.函数process_data如下所示:

void process_data(int clientSock)
{
    size_t n;
    char jstring[MAX_LEN + 1];
    int bytes_received_so_far = 0;
    int bytes_count;
    char *buf = NULL;

    while(bytes_count = recv(clientSock,jstring,MAX_LEN,0))
    {
        if(bytes_count <= 0)
        {
            close(clientSock);
            pthread_exit(NULL);
        }

        printf("Bytes received = %dn",bytes_count);                           
        jstring[bytes_count] = '';

        ...
        ...
    }
}

有人可以帮我解释错误信息.

解决方法

您使用的是什么版本的Valgrind?

关于我在源代码中找到的唯一评论是:

VgTs_WaitSys,/ *等待系统调用完成* /

所以它似乎表明该程序只是阻塞系统调用(在你的情况下recv).我不确定,但这可能不是一个错误,只是Valgrind踢出了一些额外的信息.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读