Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:111650 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 37273 invoked from network); 20 Aug 2020 13:13:59 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 20 Aug 2020 13:13:59 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 50B2718050A for ; Thu, 20 Aug 2020 05:15:39 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,HTML_MESSAGE, SPF_HELO_NONE,SPF_NONE autolearn=no autolearn_force=no version=3.4.2 X-Spam-Virus: No X-Envelope-From: Received: from mail-mahalux.mvorisek.com (mail-mahalux.mvorisek.com [77.93.195.127]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Thu, 20 Aug 2020 05:15:38 -0700 (PDT) Received: from 5dfc3f1b4af3 (10.228.0.236) by mail-mahalux.mvorisek.com (10.228.0.4) with Microsoft SMTP Server (TLS); Thu, 20 Aug 2020 14:15:31 +0200 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="=_163e68014c85fa49daf5228432aae038" Date: Thu, 20 Aug 2020 14:15:30 +0200 To: Sara Golemon , PHP internals In-Reply-To: <4a6d97c1-28e8-c6cb-e985-d32c5d056ec0@telia.com> References: <6cfb77d4d511b5c591e7d7b5cc80199955123b2cd4276a5bca2327e4b02942db@mahalux.com> <4a6d97c1-28e8-c6cb-e985-d32c5d056ec0@telia.com> Message-ID: X-Mailer: SAP NetWeaver 7.03 Subject: Re: [PHP-DEV] Allow sleep() to accept non-integer values From: vorismi3@fel.cvut.cz (=?UTF-8?Q?Michael_Vo=C5=99=C3=AD=C5=A1ek_-_=C4=8CVUT_FEL?=) --=_163e68014c85fa49daf5228432aae038 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8; format=flowed Hi everyone, thank you for your comments, based on them, I fixed these: - usleep is now used as a fallback as well, if interrupted, remaining time is measured using microtime, so return value is always available - for BC, if not interrupted, return value remains to be 0 (integer zero) Now, the sleep() function should be really universal, cross platform and I would say also the prefered way to sleep. The implementaion is here https://github.com/php/php-src/pull/5961/files Please comment on Github directly if you have any feedback left. > I thinkit's worth considering if this also should be fixed in 8.0 or even earlier ;-)So good to hear the RM view on this. Sara, are you ok to include this in PHP 8.0 and do you require a RFC for it? With kind regards / Mit freundlichen Grüßen / S přátelským pozdravem, Michael Voříšek On 11 Aug 2020 12:43, Björn Larsson wrote: > Den 2020-08-11 kl. 10:53, skrev Rowan Tommins: > > On Tue, 11 Aug 2020 at 08:31, Michael Voříšek - ČVUT FEL < > vorismi3@fel.cvut.cz> wrote: > > I am the author of https://github.com/php/php-src/pull/5961 , please > provide feedback. > > This idea makes a lot of sense to me as a user (I'll leave comments on the > implementation to those with more C experience). > > I'm pretty sure I've accidentally written things like "sleep(1.5)" in the > past, and think there is a strong argument for changing something here: > > Another reason is that sleep(0.1); is silently accepted now (even with strict types enabled), but the input is casted to 0 and thus producing > unexpected behaviour if the user is not aware of the current method > prototype. > > Unless there are problems with the implementation, this seems like a > straight-forward win. > > Regards, Given this unexpected behaviour, one could almost see it as a bug. I think it's worth considering if this also should be fixed in 8.0 or even earlier ;-) So good to hear the RM view on this. r//Björn L --=_163e68014c85fa49daf5228432aae038--