File: sleep.php

package info (click to toggle)
phabricator 0~git20220903-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, sid
  • size: 76,220 kB
  • sloc: php: 589,219; javascript: 27,980; sql: 19,466; ansic: 3,624; yacc: 2,506; sh: 696; xml: 503; lex: 488; python: 403; cpp: 224; makefile: 150; sed: 66
file content (20 lines) | stat: -rw-r--r-- 377 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?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));
}