Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
htop
Commits
a4b03e88
Commit
a4b03e88
authored
Mar 08, 2015
by
Hisham Muhammad
Browse files
Improve reading of cgroups.
parent
39a725ab
Changes
1
Hide whitespace changes
Inline
Side-by-side
linux/LinuxProcessList.c
View file @
a4b03e88
...
...
@@ -312,22 +312,27 @@ static void LinuxProcessList_readCGroupFile(Process* process, const char* dirnam
process
->
cgroup
=
strdup
(
""
);
return
;
}
char
buffer
[
256
];
char
*
ok
=
fgets
(
buffer
,
255
,
file
);
if
(
ok
)
{
char
*
trimmed
=
String_trim
(
buffer
);
int
nFields
;
char
**
fields
=
String_split
(
trimmed
,
':'
,
&
nFields
);
free
(
trimmed
);
free
(
process
->
cgroup
);
if
(
nFields
>=
3
)
{
process
->
cgroup
=
strndup
(
fields
[
2
]
+
1
,
10
);
}
else
{
process
->
cgroup
=
strdup
(
""
);
char
output
[
256
];
output
[
0
]
=
'\0'
;
char
*
at
=
output
;
int
left
=
255
;
while
(
!
feof
(
file
)
&&
left
>
0
)
{
char
buffer
[
256
];
char
*
ok
=
fgets
(
buffer
,
255
,
file
);
if
(
!
ok
)
break
;
char
*
group
=
strchr
(
buffer
,
':'
);
if
(
!
group
)
break
;
if
(
at
!=
output
)
{
*
at
=
';'
;
at
++
;
left
--
;
}
String_freeArray
(
fields
);
int
wrote
=
snprintf
(
at
,
left
,
"%s"
,
group
);
left
-=
wrote
;
}
fclose
(
file
);
free
(
process
->
cgroup
);
process
->
cgroup
=
strdup
(
output
);
}
#endif
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment