1 Star 0 Fork 22

蔡金晶/gnet

forked from Gitee 极速下载/gnet 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0
// Copyright (c) 2021 Andy Pan // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. //go:build (freebsd || dragonfly || darwin) && poll_opt // +build freebsd dragonfly darwin // +build poll_opt package gnet import ( "runtime" "github.com/panjf2000/gnet/v2/pkg/errors" ) func (el *eventloop) activateMainReactor(lockOSThread bool) { if lockOSThread { runtime.LockOSThread() defer runtime.UnlockOSThread() } defer el.engine.signalShutdown() err := el.poller.Polling() if err == errors.ErrEngineShutdown { el.engine.opts.Logger.Debugf("main reactor is exiting in terms of the demand from user, %v", err) } else if err != nil { el.engine.opts.Logger.Errorf("main reactor is exiting due to error: %v", err) } } func (el *eventloop) activateSubReactor(lockOSThread bool) { if lockOSThread { runtime.LockOSThread() defer runtime.UnlockOSThread() } defer func() { el.closeAllSockets() el.engine.signalShutdown() }() err := el.poller.Polling() if err == errors.ErrEngineShutdown { el.engine.opts.Logger.Debugf("event-loop(%d) is exiting in terms of the demand from user, %v", el.idx, err) } else if err != nil { el.engine.opts.Logger.Errorf("event-loop(%d) is exiting due to error: %v", el.idx, err) } } func (el *eventloop) run(lockOSThread bool) { if lockOSThread { runtime.LockOSThread() defer runtime.UnlockOSThread() } defer func() { el.closeAllSockets() el.ln.close() el.engine.signalShutdown() }() err := el.poller.Polling() el.getLogger().Debugf("event-loop(%d) is exiting due to error: %v", el.idx, err) }

简介

gnet 是一个基于 Event-Loop 事件驱动的高性能和轻量级网络库 展开 收起
Shell
Apache-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Shell
1
https://gitee.com/cai-jinjing/gnet.git
git@gitee.com:cai-jinjing/gnet.git
cai-jinjing
gnet
gnet
dev

搜索帮助