Project

General

Profile

Actions

Feature #11607

closed

[PATCH] fiddle: release GVL for ffi_call

Added by normalperson (Eric Wong) about 9 years ago. Updated almost 9 years ago.

Status:
Closed
Target version:
-
[ruby-core:71121]

Description

Some external functions I wish to call may take a long time
and unnecessarily block other threads. This may lead to performance
regressions for fast functions as releasing/acquiring the GVL is not
cheap, but can improve performance for long-running functions
in multi-threaded applications.

This also means we must reacquire the GVL when calling Ruby-defined
callbacks for Fiddle::Closure, meaning we must detect whether the
current thread has the GVL by exporting ruby_thread_has_gvl_p
in internal.h


Files

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0