Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:94266 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 33481 invoked from network); 27 Jun 2016 06:20:14 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 27 Jun 2016 06:20:14 -0000 Authentication-Results: pb1.pair.com smtp.mail=pthreads@pthreads.org; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=pthreads@pthreads.org; sender-id=unknown Received-SPF: error (pb1.pair.com: domain pthreads.org from 209.85.213.51 cause and error) X-PHP-List-Original-Sender: pthreads@pthreads.org X-Host-Fingerprint: 209.85.213.51 mail-vk0-f51.google.com Received: from [209.85.213.51] ([209.85.213.51:34668] helo=mail-vk0-f51.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 90/00-33395-D95C0775 for ; Mon, 27 Jun 2016 02:20:14 -0400 Received: by mail-vk0-f51.google.com with SMTP id c2so189188138vkg.1 for ; Sun, 26 Jun 2016 23:20:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pthreads-org.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=bmEcY1Ou7mmA13CnfdsftLRp1C1BHE4ATf3p2LSf9k0=; b=v/iXL1FtWbAEovVr/tC69ne19NNZmmbEnM+1ElzQrh5A+z1gPs385ohLeMVnx+zXV1 Ds2qIGh1lPLJk6YTO5MFGHicydPJKa2W22j8QUJKsEU9/0V36zyCf/u7iSa48j6uBK91 E/z4stux3PvHOkqtZ8L9pMwqp4jrTsyCm35dQ1KHrF/pGZc/uK82DZzlbcbXjCh9K7rm DuOkIzt4MEaTpLxKB0xaVMQg5TAhFQeGJN7jUSZyJWLNqZ9bW0O9Sc1aMff2QkHtATvy 2ZelF118c6bmFZkRHRIWV2qPZsPZgSCLmsffwccqjLCaryiklCxsl2IYr9tnC9v/OmWJ U22g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=bmEcY1Ou7mmA13CnfdsftLRp1C1BHE4ATf3p2LSf9k0=; b=HO19guZXiYCbZtFz5Ke6cpfE9nD3pWPUSvZlKarwcfAlQAb0d/PuUOj9Sw1QP8Ouwl 3Kp0ErHtGfj0fSsGvA0DaZWkkdad9r1sf9R37r0mLrnDleEU3W8w2FuZXJ014SioEAAW 0fHFaIyOAVzX6LthtxbzvExkFbAuPUrLsh/wpJKqAIJiCQT1iWiKuoOaI2kzbMReuNj0 r6jDSHMamQD5wpRB5fj1kvZLmhQ44vXWuM8vm586JNFkxr7fkPSsZMEkg3NAKvn2JNqE fWnPBDwXSM2eLRKdAoiyEBC4yxPBn/XcKkW6Pd5TPdfiCpyWdk+i/YUM/NlTrhWuJotX V/UQ== X-Gm-Message-State: ALyK8tJbm/LC2egIJD6SBh1qPFC33LYMqGV5u9dZB5nwxfiKatOpQ24Cd1QScH3/r3grbJVH/iorEjNNR89y2Q== X-Received: by 10.31.221.196 with SMTP id u187mr7752234vkg.23.1467008411281; Sun, 26 Jun 2016 23:20:11 -0700 (PDT) MIME-Version: 1.0 Received: by 10.103.50.150 with HTTP; Sun, 26 Jun 2016 23:20:10 -0700 (PDT) X-Originating-IP: [109.157.60.99] In-Reply-To: References: Date: Mon, 27 Jun 2016 07:20:10 +0100 Message-ID: To: Bob Weinand Cc: Dmitry Stogov , PHP internals Content-Type: multipart/alternative; boundary=94eb2c07b1a63cc55e05363c8331 Subject: Re: [PHP-DEV] [RFC] Asynchronous Signal Handling (withiut TICKs and any additional overhead). From: pthreads@pthreads.org (Joe Watkins) --94eb2c07b1a63cc55e05363c8331 Content-Type: text/plain; charset=UTF-8 Morning internals, The proposed version of this RFC is 7.1, and the discussion was started very late. However, since this is a self contained change in an extension, I'm not sure it needs a 2/3 majority, and I'm not sure that it needs a full discussion/voting period. So I'm happy for this to go into 7.1, if we can resolve the outstanding question of configuration before voting commences, or as part of the vote. The introduction of new ini entries is something we try to avoid, and would be the only reason you could argue this requires a super majority (although I think that argument invalid). I think I prefer bob's idea to have a flag parameter on pcntl_signal: * it avoids a new ini entry, and additional functions * it gives a more granular control over execution I'd like to see the implementation updated to use this approach and a simple 50%+1 Yes/No vote, alternatively, include this as a voting option. The vote needs to be opened by June 29th for a one week (minimum) voting period. Cheers Joe On Sun, Jun 26, 2016 at 3:14 PM, Bob Weinand wrote: > > > Am 24.06.2016 um 12:20 schrieb Dmitry Stogov : > > > > Hi internals, > > > > > > Please review the RFC https://wiki.php.net/rfc/async_signals > > > > > > Thanks. Dmitry. > > Overall, I really like the approach. > > I've thought a bit about the function vs. ini approach. > > Advantage INI: > - Global setting, set it once, works everywhere > > Advantage function: > - You are guaranteed one specific initial value and don't see surprises > when one environment doesn't match your default and you forgot to > explicitly enable/disable it. > > The former one is good when you have your own scripts everywhere on the > server, the latter is preferable when you are installing external > applications. > > An alternative approach would be adding a flag to pcntl_signal() whether > it should be dispatched asynchronously or held back for synchronous > dispatching (with async being the default). > > I prefer that third option because of the following scenario: > a phpunit test with timeout testing an event loop. Event loops naturally > want to enable synchronous dispatching, which obviously will hold back the > signal and thus the alarm set up by phpunit will never be triggered if the > test ends up in e.g. an infinite loop. > > I'm not convinced by this solution, but it's the best one I can think of > solving all the cases. > > Bob > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > > --94eb2c07b1a63cc55e05363c8331--