Я начал отлаживать в некоторых приложениях, которые зависают в цикле на основе вызова readdir
.Шаг за шагом я вырезал все, кроме проблемного кода, вот оно:
Итак, в основном, это показывает имя первой записи и ничего более.Он даже не выходит, просто чего-то ждет.
Кроме того, я обнаружил, что если не сопоставлять его с libpocofoundation
, это работает.Но я должен сделать это, потому что он используется в оригинальном приложении.Я немного сбит с толку, я не использую Poco
в этом примере, но он каким-то образом зависает.Пожалуйста, помогите мне, я в панике: D
#include <iostream>
#include <sys/types.h>
#include <dirent.h>
#include <cstring>
#include <string>
#include <fcntl.h>
using namespace std;
int main(int argc, char *argv[])
{
const char TMP_DIR[] = "/opt";
DIR *dir = opendir(TMP_DIR);
std::cerr
<< readdir(dir)->d_name
<< readdir(dir)->d_name
<< std::endl;
return 0;
}