< prev index next >
src/hotspot/os/aix/os_perf_aix.cpp
Print this page
rev 50955 : [mq]: readdir
@@ -891,25 +891,18 @@
return OS_OK;
}
int SystemProcessInterface::SystemProcesses::ProcessIterator::next_process() {
- struct dirent* entry;
-
if (!is_valid()) {
return OS_ERR;
}
do {
- entry = os::readdir(_dir, _entry);
- if (entry == NULL) {
- // error
- _valid = false;
- return OS_ERR;
- }
+ _entry = os::readdir(_dir);
if (_entry == NULL) {
- // reached end
+ // Error or reached end. Could use errno to distinguish those cases.
_valid = false;
return OS_ERR;
}
} while(!is_valid_entry(_entry));
@@ -927,15 +920,12 @@
// Not yet implemented.
return false;
}
SystemProcessInterface::SystemProcesses::ProcessIterator::~ProcessIterator() {
- if (_entry != NULL) {
- FREE_C_HEAP_ARRAY(char, _entry);
- }
if (_dir != NULL) {
- closedir(_dir);
+ os::closedir(_dir);
}
}
SystemProcessInterface::SystemProcesses::SystemProcesses() {
_iterator = NULL;
< prev index next >