Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:129004 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by lists.php.net (Postfix) with ESMTPS id 803841A00BC for ; Thu, 30 Oct 2025 08:19:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1761812398; bh=kVAlH4Dpz5nR/M2zyB3oaL2A0jg3jY0BmHZJIS79/wc=; h=From:Date:Subject:To:From; b=eUPhMbzPs0Ba1+APKSMiGI+PXMjdARCQuG7gVcMoPmITZ8XjDXxslyg33ZUIN6hex Y3/+FF12VLHinvWBhRVTQPNgE2ctbyI4H6wGL5Ol+xFwmenwiXTi5AYmhEzQjR71CJ /AgzRZqxrTunEILefaLNRpzgEyuVweo8NciaK0X+K6B9w30hyqMjbt1R3QGj6dhl1s doKfzYzSeOfZWvf2juUCKqxSdS/15dARMq1sro+q9xtme5aBNKNet6rjv3s8+7Ekt5 rRjf5EU1XTyjY2DSI/5LR6irczKSQH3Odea8iZIgHCCEXFE5Atu4y5uhI0XFkh479H mOXj8oPw2Io+Q== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 7BAB6180055 for ; Thu, 30 Oct 2025 08:19:57 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: No X-Envelope-From: Received: from mail-vs1-f48.google.com (mail-vs1-f48.google.com [209.85.217.48]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Thu, 30 Oct 2025 08:19:57 +0000 (UTC) Received: by mail-vs1-f48.google.com with SMTP id ada2fe7eead31-5ce093debf6so849504137.1 for ; Thu, 30 Oct 2025 01:19:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1761812391; x=1762417191; darn=lists.php.net; h=content-transfer-encoding:to:subject:message-id:date:from :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=kVAlH4Dpz5nR/M2zyB3oaL2A0jg3jY0BmHZJIS79/wc=; b=CEkzpRlHg4cNKrsobqClQFY/qkmBN0GrIbxNvM4DAlQZCcPtLMpaYpB+/pGGHoCqYZ zcGIvVKfVX4bFK5HWuHoU3IS7Ha1DYtLz68cB1Q3xbPCXI+GBGIJoZEwVLamuNgIq//t 9tjrERw58HKzP08Ra6cvwKPZABZyq9b5FzaTyWhnOfUrol41MM2OFiJfpo/gOv6uGLY0 LDBX0z6yoiFlf2HOs4ZdxdvTHOc3+yKvMGiSyXY3u6OszX1hSypdqlVU9nCUsk73Afm3 BP5ToQVtihkWpM68/3Pi6lSm3yjcaB5jJSDJN4BntBJk1KG6OSmsP4CykTOTWk+yWBqP qIpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761812391; x=1762417191; h=content-transfer-encoding:to:subject:message-id:date:from :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=kVAlH4Dpz5nR/M2zyB3oaL2A0jg3jY0BmHZJIS79/wc=; b=ECIy4rbFIAmktZdhAsfK2LeB5guN8GT3LgoMP7kREC4WzF5xsgXT/+OnxtJVloIs4P EhShabN/Kx3JLDZXyLMv1eLHhV46HEglGJ0CeMOFe/IfrIae9NnodD2nHrSQrmKq72bg DSzSqv4GV6XnC8Eh7zc5T8SHLTvHEUjIOz7aRHFd0FqYa2Lfo9eZdeo99VWM059PVFZR YEHIHlKl5tHGwItupXRrKyXec3aETeW+wVUquFAWvd5naJVSUPqimL4ICxFpZC/qEyGI DvBYAfU/TCkEWvCJxZz5Kd2Brh7ssNbnYcGg3v3daL4oBljEDN03Tu8uCyc2cl12Emp6 kJ7Q== X-Gm-Message-State: AOJu0Yyir2NRbnU8dCkcjH8TG3/xN+O88pYwDET04oD+R9bl/W5pCGv8 Uh1xmA3U6cM19yIOboqP/n0vUZD1xANmrHhhfHhWJ9PJIkuHmK8EGRdVjyK7kpgCbpzuurgUmDN lPxm8bt5Nf+3dztkkEI53ukR1YE9qluM17OyT X-Gm-Gg: ASbGncungWHfWhCgHiEc6ZeyhjVJiefp8XfB5owEsvPlNzDe4L/t2R8Gw/I+TXa9gCb LLcIj8Hf/1VDR5ll+XRWSiephVgVSxmmJIgXT9KiUnAHxcc+4yujA+KuBSQEJysSFHzthbG/Wnl ujr1hddL4RFUe4XOzV2xDCFCRCoI2G/3vq+eWEafWgTMK/TNlzYn3Jp+4Sex6CMt97s1ORkckhY tGO3tvwQqwlPcck6gOjanfvIrIr+G7yY4SzNILqbr2uRb+HbPyfPHZHvHJNgoyBVfe9Y9dgfu+6 aT0DhfOqBVfxOfoA X-Google-Smtp-Source: AGHT+IFV9b9tLQvFCndE/fIdBMnWM9JVnxZ9UpMq06odz1jELJ+RomT+fdo+X69WXoDX5ENJR+DNCEa0J8ikdvBGwUM= X-Received: by 2002:a05:6102:3914:b0:5c8:c906:e3c1 with SMTP id ada2fe7eead31-5db90602f03mr2282807137.17.1761812391336; Thu, 30 Oct 2025 01:19:51 -0700 (PDT) Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 Date: Thu, 30 Oct 2025 10:19:40 +0200 X-Gm-Features: AWmQ_bnMC5ee9k6-I7O5OhzxB9rpvIzP3VypnVV-xYs-VA832Kr8O5i6suokSM0 Message-ID: Subject: [PHP-DEV] PHP True Async RFC Stage 5 To: php internals Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable From: edmond.ht@gmail.com (Edmond Dantes) Hi 1.5 RFC: https://wiki.php.net/rfc/true_async Here=E2=80=99s the fifth version of the RFC with the updates made after the 1.4 discussion. Starting from 2025-11-03, there will be a two-week discussion period. **Changelog:** * Added FutureLike interface methods: cancel(), isCompleted(), isCancelled(= ) * Renamed Coroutine::isFinished() to Coroutine::isCompleted() * Clarified exit/die behavior: always triggers Graceful Shutdown mode regardless of where called * Added rationale for =E2=80=9CCancellable by design=E2=80=9D policy: expla= ins why default cancellability reduces code complexity for read-heavy PHP workloads * RFC structure improvements: reorganized Cancellation section with proper subsections hierarchy * Moved =E2=80=9CCoroutine lifetime=E2=80=9D as subsection under Coroutine = section * Extended glossary with Awaitable, Suspension, Graceful Shutdown, and Deadlock terms * Introduced FutureLike interface with single-assignment semantics and changed await() signature to accept FutureLike instead of Awaitable for type safety * Split RFC: Moved Scope and structured concurrency functionality to separate Scope RFC. Base RFC now focuses on core async primitives (coroutines, await, cancellation) I decided not to wait until Monday and made the changes today. If anyone has read version 1.4 and has comments on it, they=E2=80=99re still relevant. The Scope API has been moved to a separate RFC: https://wiki.php.net/rfc/true_async_scope ---- Best Regards, Ed