Toggle navigation
Toggle navigation
此项目
正在载入...
Sign in
胡斌
/
srs
转到一个项目
Toggle navigation
项目
群组
代码片段
帮助
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
winlin
2016-01-20 14:09:14 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
03469fc37ddc820497f1ef6f1c2cd87ac5590f8b
03469fc3
1 parent
ce8f3b44
refine code for process fork.
隐藏空白字符变更
内嵌
并排对比
正在显示
1 个修改的文件
包含
12 行增加
和
11 行删除
trunk/src/app/srs_app_process.cpp
trunk/src/app/srs_app_process.cpp
查看文件 @
03469fc
...
...
@@ -227,27 +227,28 @@ int SrsProcess::start()
// should never close the fd 3+, for it myabe used.
// for fd should close at exec, use fnctl to set it.
// log basic info
// log basic info to stderr.
if
(
true
)
{
fprintf
(
stderr
,
"
\n
"
);
fprintf
(
stderr
,
"process ppid=%d, cid=%d, pid=%d
\n
"
,
ppid
,
cid
,
getpid
());
fprintf
(
stderr
,
"process binary=%s
\n
"
,
bin
.
c_str
());
fprintf
(
stderr
,
"process cli: %s
\n
"
,
cli
.
c_str
());
fprintf
(
stderr
,
"process binary=%s, cli: %s
\n
"
,
bin
.
c_str
(),
cli
.
c_str
());
fprintf
(
stderr
,
"process actual cli: %s
\n
"
,
actual_cli
.
c_str
());
}
// memory leak in child process, it's ok.
char
**
charpv_params
=
new
char
*
[
params
.
size
()
+
1
];
char
**
argv
=
new
char
*
[
params
.
size
()
+
1
];
for
(
int
i
=
0
;
i
<
(
int
)
params
.
size
();
i
++
)
{
std
::
string
&
p
=
params
[
i
];
charpv_params
[
i
]
=
(
char
*
)
p
.
data
();
// memory leak in child process, it's ok.
char
*
v
=
new
char
[
p
.
length
()
+
1
];
argv
[
i
]
=
strcpy
(
v
,
p
.
data
());
}
// EOF: NULL
charpv_params
[
params
.
size
()]
=
NULL
;
argv
[
params
.
size
()]
=
NULL
;
// TODO: execv or execvp
ret
=
execv
(
bin
.
c_str
(),
charpv_params
);
// use execv to start the program.
ret
=
execv
(
bin
.
c_str
(),
argv
);
if
(
ret
<
0
)
{
fprintf
(
stderr
,
"fork process failed, errno=%d(%s)"
,
errno
,
strerror
(
errno
));
}
...
...
@@ -258,7 +259,7 @@ int SrsProcess::start()
if
(
pid
>
0
)
{
is_started
=
true
;
srs_trace
(
"fored process, pid=%d, bin=%s, stdout=%s, stderr=%s, argv=%s"
,
pid
,
bin
.
c_str
(),
stdout_file
.
c_str
(),
std
out
_file
.
c_str
(),
actual_cli
.
c_str
());
pid
,
bin
.
c_str
(),
stdout_file
.
c_str
(),
std
err
_file
.
c_str
(),
actual_cli
.
c_str
());
return
ret
;
}
...
...
请
注册
或
登录
后发表评论