opendir睡眠或无限循环程序

时间:2015-03-18 12:23:04

标签: c libc opendir

我正在程序中用C语言编写一个简单的LS命令,当我第一次打开目录并读取它时,它运行正常,但是当我第二次调用该函数时,opendir()似乎睡觉或无限循环:

int server_list(t_server_data *sd)
{
  DIR *dir;
  struct dirent *entry;

  printf("In list()\n");
  printf("Open directory\n");

  if ((dir = opendir("./")) == NULL)
      perror("Error: opendir()");

  printf("Directory opened\n");

  while ((entry = readdir(dir)) != NULL)
  {
      printf("Reading dir...\n");
      /* code */
  }

  closedir(dir);
  return (0);
}

然后这是我得到的输出:

In list()
Open directory

程序什么都不做(等待)。

0 个答案:

没有答案
相关问题