Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:102570 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 74093 invoked from network); 4 Jul 2018 10:24:14 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 4 Jul 2018 10:24:14 -0000 Authentication-Results: pb1.pair.com header.from=nikita.ppv@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=nikita.ppv@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.214.51 as permitted sender) X-PHP-List-Original-Sender: nikita.ppv@gmail.com X-Host-Fingerprint: 209.85.214.51 mail-it0-f51.google.com Received: from [209.85.214.51] ([209.85.214.51:54194] helo=mail-it0-f51.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id F1/81-55607-D40AC3B5 for ; Wed, 04 Jul 2018 06:24:13 -0400 Received: by mail-it0-f51.google.com with SMTP id a195-v6so7140877itd.3 for ; Wed, 04 Jul 2018 03:24:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=wVrpOncR+j4MjQSkb1XjG+CFmjqBAY+KaboTtBS15qA=; b=B9q5KGOnezZzl9aOLKqieYA70pMtVyf/jGBsfHYporj8BqdO+v8eWfKOJyivoegMHV xVK1/f5RLa4JdiWIQriMD6zKK+u7OxfZzDouvCsmiz4fbpNesPjymTF2+HkuJSUM8s4y KSOVfgAr4Fs1OWcy9YlqC6CZv9mxqWK5sE8bmJxTsgUo1TVrbHh+danK9QLDatr4ddJo rbikN1vX1E8HUKBxDFI53adTzEkYDWuoGyzCr6flnBa3q/zA54j4i6BkHsMN4TdZD25/ zeerrakG2iqLs96JWr6WziOyBtVsS8ty/Y3Slvw4iOCwGxeSmAdzN95+UlIzIOViCsHl LxoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=wVrpOncR+j4MjQSkb1XjG+CFmjqBAY+KaboTtBS15qA=; b=F+B0TXEOq+4Cdd/NxZ0LgLnoPxbxeX/g3ZECR5Bd0hTPUf5cG1aO5iqh+NY1LWZoap unrqcQPM6Av5SHMfHPeerXUS66UrfX2geuAOlfCTxn2da5205NNYkSjrL73cT9uNOMhM g5KwbYTycwsEIJmv95KUK7ZVjELzpasby6cytDeWhWI88nr7fUXBMSeFdSCapzI+E/Zg 6txR/DdytucILq9vXp1zLhC1i3ycQHBuadJSOGE5JM2BEy2tdY1C26d2YzT/Tjttni1w g2J5KYB/Y2MXQuAeTey94++AtPnnGdWIAYu23obqstqO8EDotjIrESaYOSzahLo4Qb1s wmkQ== X-Gm-Message-State: APt69E2E8bHtJixvmm0E9rosLdb/nUF99swQ3A7Uyo9IvzCK26Leu3rS PDrCXTMGMuJpSVD2i7ZXUa8rZDA2BelhICItLFo= X-Google-Smtp-Source: AAOMgpcYlBocMHflHzJ8IqwqvcqIr8/pE4EZoQGBAO+WkV+JCJkSU0ucJsVGRM0QnXXPGZ4l6T87Cpz22XvFleDCZQg= X-Received: by 2002:a24:3c41:: with SMTP id m62-v6mr1209111ita.63.1530699850826; Wed, 04 Jul 2018 03:24:10 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a6b:148a:0:0:0:0:0 with HTTP; Wed, 4 Jul 2018 03:24:10 -0700 (PDT) In-Reply-To: <9274549c-4d08-7a68-77c3-aedfe6dc0962@gmx.de> References: <15n3jdpoiprladjh50u6r2nn1hlmmvea3p@4ax.com> <87863116-5de1-c44d-d751-51e9327807f2@gmx.de> <66c6jdhurlnsaqlegs0epd56b7skj0n20v@4ax.com> <6fa23528-ddcd-d998-50cd-ddabcb038b45@gmx.de> <9274549c-4d08-7a68-77c3-aedfe6dc0962@gmx.de> Date: Wed, 4 Jul 2018 12:24:10 +0200 Message-ID: To: "Christoph M. Becker" Cc: Jan Ehrhardt , PHP internals Content-Type: multipart/alternative; boundary="000000000000ddd7cd057029d40c" Subject: Re: [PHP-DEV] Re: PHP 7.3 zif_handler changes From: nikita.ppv@gmail.com (Nikita Popov) --000000000000ddd7cd057029d40c Content-Type: text/plain; charset="UTF-8" On Wed, Jul 4, 2018 at 11:32 AM, Christoph M. Becker wrote: > On 04.07.2018 at 01:16, Jan Ehrhardt wrote: > > > Another one: some extensioms suffer from the fact that the macro GC_G > > was removed from > > https://github.com/php/php-src/blob/master/Zend/zend_gc.h > > Some of the removed functionality has been reintroduced in gc_status > > https://github.com/php/php-src/commits/master/Zend/zend_gc.h > > > > Examples using GC_G: v8js, xdebug, tideways. > > v8js was using gc_active to check if garbage collection was running. > > I did a wild guess to fix it: > > https://github.com/Jan-E/v8js/commit/997df065d3cd06a9b11e399458c391 > eb797a850e#diff-dc446a69201ccda44a33d111152f6c8c > > This looks wrong, since zend_gc_collect_cycles() actually triggers the > GC, if I'm not mistaken. > > It seems to me that should be something like: > > zend_gc_status status; > zend_gc_get_status(&status); > if (status.runs) { > The correct way to handle this is to implement a proper get_gc() handler, which will be called in favor of get_properties() during GC. Nikita --000000000000ddd7cd057029d40c--