Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MegEngine 天元
MegEngine
提交
f18259d7
MegEngine
项目概览
MegEngine 天元
/
MegEngine
大约 1 年 前同步成功
通知
399
Star
4705
Fork
582
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
MegEngine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
f18259d7
编写于
4月 20, 2020
作者:
M
Megvii Engine Team
提交者:
Xinran Xu
5月 06, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor(mge/zmqrpc): zmqrpc return real port or -1
GitOrigin-RevId: 878b63c601899f80f41f2f150ada72d1cd117413
上级
99fae95e
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
13 addition
and
12 deletion
+13
-12
python_module/src/cpp/zmq_rpc.cpp
python_module/src/cpp/zmq_rpc.cpp
+13
-12
未找到文件。
python_module/src/cpp/zmq_rpc.cpp
浏览文件 @
f18259d7
...
...
@@ -101,30 +101,31 @@ ZmqRpcServer::ZmqRpcServer(string address, int port,
m_backend
(
m_ctx
,
ZMQ_ROUTER
),
m_workers
(
&
m_ctx
,
m_impl
.
get
())
{
try
{
char
full_addr
[
30
];
char
full_addr
[
100
];
size_t
size
=
sizeof
(
full_addr
);
sprintf
(
full_addr
,
"%s:%d"
,
m_address
.
c_str
(),
m_port
);
m_frontend
.
bind
(
full_addr
);
}
catch
(...)
{
char
full_addr
[
30
];
for
(
int
i
=
1024
;
i
<
49151
;
i
++
)
{
m_port
=
0
;
try
{
sprintf
(
full_addr
,
"%s:%d"
,
m_address
.
c_str
(),
i
);
m_frontend
.
bind
(
full_addr
);
m_port
=
i
;
break
;
}
catch
(...)
{
}
m_frontend
.
getsockopt
(
ZMQ_LAST_ENDPOINT
,
&
full_addr
,
&
size
);
m_port
=
0
;
int
pow
=
1
,
len
=
strlen
(
full_addr
);
for
(
int
i
=
len
-
1
;
i
>=
0
;
i
--
)
{
if
(
full_addr
[
i
]
==
':'
)
break
;
m_port
+=
(
full_addr
[
i
]
-
'0'
)
*
pow
;
pow
*=
10
;
}
}
catch
(...)
{
m_port
=
-
1
;
}
m_backend
.
bind
(
"inproc://workers"
);
}
void
ZmqRpcServer
::
run
()
{
if
(
m_port
==
-
1
)
return
;
m_main_thread
=
make_unique
<
thread
>
([
this
]
{
this
->
work
();
});
}
void
ZmqRpcServer
::
close
()
{
if
(
m_port
==
-
1
)
return
;
m_stop
=
true
;
if
(
m_main_thread
->
joinable
())
m_main_thread
->
join
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录