Supported Versions: PHP 4, PHP 5, PHP 7, PHP 8
Closes an open file pointer
fclose(resource $stream): bool
if ($chunk === '') {
Loop::removeReadStream($stream);
stream_set_blocking($stream, true);
fclose($stream);
return;
}
Loop::removeReadStream($stream);
stream_set_blocking($stream, true);
fclose($stream);
return;
}
if ($r === 0) {
Loop::removeWriteStream($stdout);
fclose($stdout);
stream_set_blocking($stdout, true);
fwrite(STDERR, 'Stopped because STDOUT closed' . PHP_EOL);
Loop::removeWriteStream($stdout);
fclose($stdout);
stream_set_blocking($stdout, true);
fwrite(STDERR, 'Stopped because STDOUT closed' . PHP_EOL);
if ($chunk === '') {
echo '[END]' . PHP_EOL;
Loop::removeReadStream($stream);
fclose($stream);
return;
}
echo '[END]' . PHP_EOL;
Loop::removeReadStream($stream);
fclose($stream);
return;
}
if ($chunk === '') {
echo '[END]' . PHP_EOL;
Loop::removeReadStream($stream);
fclose($stream);
return;
}
echo '[END]' . PHP_EOL;
Loop::removeReadStream($stream);
fclose($stream);
return;
}
Loop::addWriteStream($conn, function ($conn) use (&$data) {
$written = fwrite($conn, $data);
if ($written === strlen($data)) {
fclose($conn);
Loop::removeWriteStream($conn);
} else {
$data = substr($data, $written);
$written = fwrite($conn, $data);
if ($written === strlen($data)) {
fclose($conn);
Loop::removeWriteStream($conn);
} else {
$data = substr($data, $written);
$loop->cancelTimer($timeout);
});
fclose($output);
$this->loop->run();
});
fclose($output);
$this->loop->run();
list ($input, $output) = $this->createSocketPair();
fwrite($input, 'hello');
fclose($input);
$loop = $this->loop;
$received =& $this->received;
fwrite($input, 'hello');
fclose($input);
$loop = $this->loop;
$received =& $this->received;
if ($chunk === '') {
$received .= 'X';
$loop->removeReadStream($output);
fclose($output);
} else {
$received .= '[' . $chunk . ']';
}
$received .= 'X';
$loop->removeReadStream($output);
fclose($output);
} else {
$received .= '[' . $chunk . ']';
}
$loop->addReadStream($stream, function ($stream) use ($loop) {
$loop->removeReadStream($stream);
$loop->removeWriteStream($stream);
fclose($stream);
});
$loop->removeReadStream($stream);
$loop->removeWriteStream($stream);
fclose($stream);
});
});
fclose($other);
$this->assertRunFasterThan($this->tickTimeout);
}
fclose($other);
$this->assertRunFasterThan($this->tickTimeout);
}
$loop->removeReadStream($stream);
$loop->removeWriteStream($stream);
fclose($stream);
});
$loop->removeWriteStream($stream);
fclose($stream);
});
fwrite($other, str_repeat('.', static::PHP_DEFAULT_CHUNK_SIZE));
$this->loop->addTimer(0.01, function () use ($other) {
fclose($other);
});
$this->assertRunFasterThan(0.1);
$this->loop->addTimer(0.01, function () use ($other) {
fclose($other);
});
$this->assertRunFasterThan(0.1);
$loop->addReadStream($stream, function ($stream) use ($loop) {
$loop->removeReadStream($stream);
$loop->removeWriteStream($stream);
fclose($stream);
});
$this->assertRunFasterThan($this->tickTimeout);
$loop->removeReadStream($stream);
$loop->removeWriteStream($stream);
fclose($stream);
});
$this->assertRunFasterThan($this->tickTimeout);