879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
|
TclpReaddir(DIR * dir)
{
Tcl_DirEntry *ent;
#ifdef TCL_THREADS
ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey);
#ifdef HAVE_READDIR_R
ent = &tsdPtr->rdbuf.ent;
if (TclOSreaddir_r(dir, ent, &ent) != 0) {
ent = NULL;
}
#else /* !HAVE_READDIR_R */
Tcl_MutexLock(&rdMutex);
# ifdef HAVE_STRUCT_DIRENT64
|
|
>
>
>
>
|
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
|
TclpReaddir(DIR * dir)
{
Tcl_DirEntry *ent;
#ifdef TCL_THREADS
ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey);
#ifdef HAVE_READDIR_R
ent = &tsdPtr->rdbuf.ent;
# ifdef HAVE_TWO_ARG_READDIR_R
if (TclOSreaddir_r(dir, ent) != 0) {
# else /* HAVE_THREE_ARG_READDIR_R */
if (TclOSreaddir_r(dir, ent, &ent) != 0) {
# endif /* HAVE_TWO_ARG_READDIR_R */
ent = NULL;
}
#else /* !HAVE_READDIR_R */
Tcl_MutexLock(&rdMutex);
# ifdef HAVE_STRUCT_DIRENT64
|