A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Removed unused functions from xbt_str.
[simgrid.git]
/
src
/
xbt
/
memory_map.cpp
diff --git
a/src/xbt/memory_map.cpp
b/src/xbt/memory_map.cpp
index
ae6113c
..
73e2d8d
100644
(file)
--- a/
src/xbt/memory_map.cpp
+++ b/
src/xbt/memory_map.cpp
@@
-193,12
+193,13
@@
XBT_PRIVATE std::vector<VmMap> get_memory_map(pid_t pid)
line[read - 1] = '\0';
/* Tokenize the line using spaces as delimiters and store each token in lfields array. We expect 5 tokens for 6 fields */
line[read - 1] = '\0';
/* Tokenize the line using spaces as delimiters and store each token in lfields array. We expect 5 tokens for 6 fields */
+ char* saveptr = nullptr; // for strtok_r()
char* lfields[6];
char* lfields[6];
- lfields[0] = strtok
(line, " "
);
+ lfields[0] = strtok
_r(line, " ", &saveptr
);
int i;
for (i = 1; i < 6 && lfields[i - 1] != nullptr; i++) {
int i;
for (i = 1; i < 6 && lfields[i - 1] != nullptr; i++) {
- lfields[i] = st
d::strtok(nullptr, " "
);
+ lfields[i] = st
rtok_r(nullptr, " ", &saveptr
);
}
/* Check to see if we got the expected amount of columns */
}
/* Check to see if we got the expected amount of columns */
@@
-207,7
+208,7
@@
XBT_PRIVATE std::vector<VmMap> get_memory_map(pid_t pid)
/* Ok we are good enough to try to get the info we need */
/* First get the start and the end address of the map */
/* Ok we are good enough to try to get the info we need */
/* First get the start and the end address of the map */
- char
*tok = std::strtok(lfields[0], "-"
);
+ char
* tok = strtok_r(lfields[0], "-", &saveptr
);
if (tok == nullptr)
xbt_die("Start and end address of the map are not concatenated by a hyphen (-). Recovery impossible.");
if (tok == nullptr)
xbt_die("Start and end address of the map are not concatenated by a hyphen (-). Recovery impossible.");
@@
-218,7
+219,7
@@
XBT_PRIVATE std::vector<VmMap> get_memory_map(pid_t pid)
if (*endptr != '\0')
xbt_abort();
if (*endptr != '\0')
xbt_abort();
- tok = st
d::strtok(nullptr, "-"
);
+ tok = st
rtok_r(nullptr, "-", &saveptr
);
if (tok == nullptr)
xbt_abort();
if (tok == nullptr)
xbt_abort();
@@
-232,7
+233,6
@@
XBT_PRIVATE std::vector<VmMap> get_memory_map(pid_t pid)
xbt_abort();
memreg.prot = 0;
xbt_abort();
memreg.prot = 0;
-
for (i = 0; i < 3; i++){
switch(lfields[1][i]){
case 'r':
for (i = 0; i < 3; i++){
switch(lfields[1][i]){
case 'r':
@@
-251,6
+251,7
@@
XBT_PRIVATE std::vector<VmMap> get_memory_map(pid_t pid)
if (memreg.prot == 0)
memreg.prot |= PROT_NONE;
if (memreg.prot == 0)
memreg.prot |= PROT_NONE;
+ memreg.flags = 0;
if (lfields[1][3] == 'p') {
memreg.flags |= MAP_PRIVATE;
} else {
if (lfields[1][3] == 'p') {
memreg.flags |= MAP_PRIVATE;
} else {
@@
-268,7
+269,7
@@
XBT_PRIVATE std::vector<VmMap> get_memory_map(pid_t pid)
xbt_abort();
/* Get the device major:minor bytes */
xbt_abort();
/* Get the device major:minor bytes */
- tok = st
d::strtok(lfields[3], ":"
);
+ tok = st
rtok_r(lfields[3], ":", &saveptr
);
if (tok == nullptr)
xbt_abort();
if (tok == nullptr)
xbt_abort();
@@
-277,7
+278,7
@@
XBT_PRIVATE std::vector<VmMap> get_memory_map(pid_t pid)
if (*endptr != '\0')
xbt_abort();
if (*endptr != '\0')
xbt_abort();
- tok = st
d::strtok(nullptr, ":"
);
+ tok = st
rtok_r(nullptr, ":", &saveptr
);
if (tok == nullptr)
xbt_abort();
if (tok == nullptr)
xbt_abort();