-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmem2.php
More file actions
41 lines (31 loc) · 771 Bytes
/
mem2.php
File metadata and controls
41 lines (31 loc) · 771 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
$running = true;
$exitSig = 0;
function signal($sig) {
global $running, $exitSig;
echo 'init sig = ', $sig, PHP_EOL;
$running = false;
$exitSig = $sig;
}
pcntl_async_signals(true);
pcntl_signal(SIGTERM, 'signal', false);
pcntl_signal(SIGINT, 'signal', false);
pcntl_signal(SIGUSR1, 'signal', false);
pcntl_signal(SIGUSR2, 'signal', false);
$var = ts_var_declare(null);
$memsize = memory_get_usage();
if(!is_main_task()) {
while($running) {
ts_var_shift($var, $key);
echo "$key\n";
};
} else {
create_task('pop', __FILE__, []) or die('create_task failure');
$i = 0;
while($running) {
ts_var_count($var) > 5 or ts_var_set($var, $i++, __FILE__);
};
task_wait($exitSig);
}
$memsize = memory_get_usage() - $memsize;
echo "memory: $memsize\n";