Project

General

Profile

Actions

Feature #13996

closed

[PATCH] file.c: apply2files releases GVL

Added by normalperson (Eric Wong) over 6 years ago. Updated over 6 years ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:83200]

Description

This means File.chmod, File.lchmod, File.chown, File.lchown,
File.unlink, and File.utime operations on slow filesystems
no longer hold up other threads.

The platform-specific utime_failed changes is compile-tested
using a new UTIME_EINVAL macro

  • file.c (UTIME_EINVAL): new macro to ease compile-testing
  • file.c (struct apply_arg): new struct
  • file.c (no_gvl_apply2files): new function
  • file.c (apply2files): release GVL
  • file.c (chmod_internal): adjust for apply2files changes
  • file.c (lchmod_internal): ditto
  • file.c (chown_internal): ditto
  • file.c (lchown_internal): ditto
  • file.c (utime_failed): ditto
  • file.c (utime_internal): ditto
  • file.c (unlink_internal): ditto

Files

0001-file.c-apply2files-releases-GVL.patch (7.65 KB) 0001-file.c-apply2files-releases-GVL.patch normalperson (Eric Wong), 10/10/2017 07:15 PM
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0