From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: poffice@blade.nagaokaut.ac.jp Delivered-To: poffice@blade.nagaokaut.ac.jp Received: from kankan.nagaokaut.ac.jp (kankan.nagaokaut.ac.jp [133.44.2.24]) by blade.nagaokaut.ac.jp (Postfix) with ESMTP id C5F0F19C0021 for ; Wed, 28 Oct 2015 23:19:29 +0900 (JST) Received: from voscc.nagaokaut.ac.jp (voscc.nagaokaut.ac.jp [133.44.1.100]) by kankan.nagaokaut.ac.jp (Postfix) with ESMTP id 541BBB5D841 for ; Wed, 28 Oct 2015 23:47:25 +0900 (JST) Received: from neon.ruby-lang.org (neon.ruby-lang.org [221.186.184.75]) by voscc.nagaokaut.ac.jp (Postfix) with ESMTP id 3E9A395241E for ; Wed, 28 Oct 2015 23:47:25 +0900 (JST) Received: from [221.186.184.76] (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 823BF1204CE; Wed, 28 Oct 2015 23:47:23 +0900 (JST) X-Original-To: ruby-core@ruby-lang.org Delivered-To: ruby-core@ruby-lang.org Received: from mail-pa0-f53.google.com (mail-pa0-f53.google.com [209.85.220.53]) by neon.ruby-lang.org (Postfix) with ESMTPS id A4EC1120497 for ; Wed, 28 Oct 2015 23:47:18 +0900 (JST) Received: by padhk11 with SMTP id hk11so9203123pad.1 for ; Wed, 28 Oct 2015 07:47:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tenderlovemaking_com.20150623.gappssmtp.com; s=20150623; h=sender:date:from:to:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=g3B+Yx570emj79W+hwhXErUpt+OgD811Fs6O/H8WgZg=; b=I5yPM+iT3+70llB+HBBCIpv6a4WWY/USmCd8thaI7W2m+Chq/qG98W4mxvhUqrA29Y ElZpazeTyOijzYHspGZIAUiCywyieDmDv1+Ghrv+0WcTFau3pFSXtZQG2zaHIil0FqIL jRQlx8OH2QCncDjdDFvT3OcH6rnppRadd0lUbBA8/LTto32UotSXDMoQ0LI8AiCEKXVm ugUKJV11tE3Qi5ZSl7voK8HJcoJyiy0/oWHtU7WWUCtU9YSRLJapWrSzn7qACt4dHNvz CcdKA3uM1WxKQC73vjA7xz+UxhJgbGzT/Dy5FesI6IAZsBkMpAXuvwI+gmdAhG/Ypo6a KDpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:date:from:to:subject:message-id :references:mime-version:content-type:content-disposition :in-reply-to:user-agent; bh=g3B+Yx570emj79W+hwhXErUpt+OgD811Fs6O/H8WgZg=; b=ME2jG0dfAet069Qup99z3ag+8IcIhRQm1/MOw9mCR7M6XZLnxNcYo7FB/4EyS9uaKb NhyefV87VJTp0E2oR47EqQAQi0Jh3WE6ShH1tw6M8rn7QK2R9IukRC9IWqtac+pwLs6D uNUJk7hiAB3h0J3eIi6Y4LhOC+1IyXPriySjr63da0Z428T5bQ+Q0cI/xuN/Nz1u4pXp 5Dm9CyU020Sc5az5kAawBaK34boVayHw3aBCbsnc9c+/5aYTJvutHMIYi2fx1XxzoHJR /DjgT6rM/y1sQPQxHula++UCqhgwpd5oNuuVDJIRj/OZEcy/Ovm8vNio7VwSHzHU6PdS LujQ== X-Gm-Message-State: ALoCoQntWxmG83pcSSY9OhCoFwBSXjm1u3+XDAtS8UT0a+FYeGogO6AhuZAX5HvJlaztCaUZitKi X-Received: by 10.68.134.3 with SMTP id pg3mr4696762pbb.41.1446043636458; Wed, 28 Oct 2015 07:47:16 -0700 (PDT) Received: from TC.local (c-24-56-229-227.customer.broadstripe.net. [24.56.229.227]) by smtp.gmail.com with ESMTPSA id xa4sm46101925pac.28.2015.10.28.07.47.15 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 28 Oct 2015 07:47:15 -0700 (PDT) Date: Wed, 28 Oct 2015 07:47:13 -0700 From: Aaron Patterson To: Ruby developers Message-ID: <20151028144713.GA57208@TC.local> References: <20151027085407.GA7346@dcvr.yhbt.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20151027085407.GA7346@dcvr.yhbt.net> User-Agent: Mutt/1.5.23 (2014-03-12) X-ML-Name: ruby-core X-Mail-Count: 71246 Subject: [ruby-core:71246] Re: [Ruby trunk - Feature #11607] [PATCH] fiddle: release GVL for ffi_call X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Ruby developers List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" On Tue, Oct 27, 2015 at 08:54:07AM +0000, Eric Wong wrote: > Yes, user must check if the function is MT-safe. Probably fine > for most library functions... > > Maybe releasing GVL can be optional, but I would rather avoid > exposing implementation detail or new APIs... I think it's fine. Calling a C function from fiddle that requires the GVL to be locked seems like an edge case. Maybe we can make an option to maintain keep the GVL locked, and make "unlocking the GVL" default behavior. -- Aaron Patterson http://tenderlovemaking.com/