On Tue, 11 Aug 2020 at 13:03, Michael Voříšek - ČVUT FEL <
voris...@fel.cvut.cz> wrote:

> > Another reason is that sleep(0.1); is silently accepted now (even with
> strict types enabled),
> >
> > That appears to not be true: https://3v4l.org/7YbqX
>
> corrected, should be "without strict types enabled" -
> https://3v4l.org/A2olN
>
> "even with strict type enabled" statement in BC section remains valid
>

That's a normal type juggling behaviour of PHP to silently truncate float
to integers.
Maybe something that we should change by emitting a E_WARNING but that
would need an RFC.
Therefore I don't see why sleep should get special treatment.

I also echo Dan's concerns and I find this change all in all negative.
Now we need to deal with IEEE 754 floating point semantics and converting
"manually" to an integer range
to pass it to functions which might not be available on the platform and
then still end up using sleep(0) on the C level.

I'd rather see the failure condition changed to reject 0 or add a
E_NOTICE/E_WARNING if 0 is passed as this has questionable semantics.

Best regards

George P. Banyard

Reply via email to