Issue #13739: It's simpler and more direct to call rewinddir() at the
beginning.
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index 3c723cf..602c422 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -2890,6 +2890,7 @@
close(fd);
return posix_error();
}
+ rewinddir(dirp);
if ((d = PyList_New(0)) == NULL) {
Py_BEGIN_ALLOW_THREADS
closedir(dirp);
@@ -2906,7 +2907,6 @@
break;
} else {
Py_BEGIN_ALLOW_THREADS
- rewinddir(dirp);
closedir(dirp);
Py_END_ALLOW_THREADS
Py_DECREF(d);
@@ -2930,7 +2930,6 @@
Py_DECREF(v);
}
Py_BEGIN_ALLOW_THREADS
- rewinddir(dirp);
closedir(dirp);
Py_END_ALLOW_THREADS