nogvl readdir make SEGV on Windows

* dir.c (readdir_without_gvl): workaround for Windows.  [Bug #14108]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
usa 2017-11-15 03:44:58 +00:00
parent ea3211720d
commit 5570dba96f

4
dir.c
View File

@ -743,6 +743,7 @@ to_be_skipped(const struct dirent *dp)
return FALSE;
}
#ifndef _WIN32
static void *
nogvl_readdir(void *ptr)
{
@ -756,6 +757,9 @@ readdir_without_gvl(struct dir_data *dirp)
{
return rb_thread_call_without_gvl(nogvl_readdir, dirp, RUBY_UBF_IO, 0);
}
#else
#define readdir_without_gvl(dirp) READDIR((dirp)->dir, (dirp)->enc)
#endif
/*
* call-seq: