Project

General

Profile

« Previous | Next » 

Revision 8ade9994

Added by jeremyevans (Jeremy Evans) over 1 year ago

Release GVL around system calls in dir.c

  • Release GVL for fdopendir calls
  • Release GVL for readdir calls
  • Release GVL for chdir call in dir_chdir0
  • Release GVL for fchdir call in dir_fchdir
  • Release GVL for chroot calls
  • Release GVL for lstat calls
  • Release GVL for stat calls
  • Release GVL for fstatat calls
  • Release GVL for getpwnam call in rb_home_dir_of
    (technically in file.c, but called from dir.c)

This does not release GVL for readdir/stat/lstat on Windows,
as that causes issues because the emulation functions that
are called in win32.c require the GVL.

This also removes some explicit casts either to or from void *,
which are allowed implicitly. The remaining casts to or from
void * are part of function pointer casts, which are not
allowed implicitly and will generate a warning.