handle_connections_socket函数

handle_connections_socket函数位于mysqld.cc,负责处理客户端请求。当请求到来时,它会通过accept创建新线程或复用缓存线程。在完成select/accept后,分配THD实例并初始化网络操作。根据配置文件,可能使用缓存线程或创建新线程,新线程从handle_one_connection()开始执行。
摘要由CSDN通过智能技术生成

函数所在文件:mysqld.cc

该函数用于处理客户端的请求,当一个请求到达时,需要为该请求分配或新建一个线程

运行一个while循环来接受请求:

 while (!abort_loop) //当需要退出时置1
在循环体内使用select函数来对请求进行监听:
select((int) max_used_connection,&readFDs,0,0,0)
设置服务器socket为非阻塞模式:
  fcntl(sock, F_SETFL, flags | O_NONBLOCK);

再使用标准库函数accept接受请求:

  new_sock = accept(sock, my_reinterpret_cast(struct sockaddr *) (&cAddr),&length);

当完成select()/accecpt()等操作后,分配一个THD实例:

    i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值