1
0
Fork 0
mirror of https://we.phorge.it/source/arcanist.git synced 2024-12-18 03:20:59 +01:00
phorge-arcanist/support/unit/sleep.php
epriestley acf0607683 Merge utility/support changes from "wilds" to "master"
Summary:
Ref T13395. Merge a lot of stuff which doesn't break existing workflows:

    - Merge a UTF8 fix for "cmd.exe" on Windows.
    - Merge minor changes to JSON linters.
    - Merge some shell completion stuff.
    - Merge some "arc anoid" fixes.
    - Merge various Windows improvements to unit tests which interact with processes / the filesystem.
    - Merge some other Windows path fixes.
    - Merge a UTF8 character class fix.
    - Merge script initialization.
    - Merge unit test support scripts.
    - Merge some initialization code.
    - Merge Windows stdout/stderr-as-files code.
    - Merge a bunch of code for making exec tests work on Windows.
    - Merge more Windows unit test fixes.
    - Merge "continue on failure" mode when loading symbols.
    - Merge "GPC" order CLI fixes.

Test Plan: Ran `arc unit --everything`; created this change. There's likely some less-than-perfect code here.

Maniphest Tasks: T13395

Differential Revision: https://secure.phabricator.com/D20988
2020-02-13 14:10:09 -08:00

20 lines
377 B
PHP
Executable file

<?php
if ($argc != 2) {
echo "usage: sleep <duration>\n";
exit(1);
}
// NOTE: Sleep for the requested duration even if our actual sleep() call is
// interrupted by a signal.
$then = microtime(true) + (double)$argv[1];
while (true) {
$now = microtime(true);
if ($now >= $then) {
break;
}
$sleep = max(1, ($then - $now));
usleep((int)($sleep * 1000000));
}