mirror of
https://github.com/php/php-src.git
synced 2024-09-21 18:07:23 +00:00
d052d612d9
targetted for socket_create_pair/socket_create, they re not considered as socket type but to be ORed with these (to avoid socketpair2/socket2 likely), set O_CLOEXEC/O_NONBLOCK respectively on the file descriptors. close GH-15322
35 lines
1.1 KiB
PHP
35 lines
1.1 KiB
PHP
--TEST--
|
|
Test for socket_create_pair() with SOCK_CLOEXEC/SOCK_NONBLOCK
|
|
--EXTENSIONS--
|
|
sockets
|
|
--SKIPIF--
|
|
<?php
|
|
if (!defined('SOCK_CLOEXEC')) die("skip SOCK_CLOEXEC");
|
|
if (!defined('SOCK_NONBLOCK')) die("skip SOCK_NONBLOCK");
|
|
?>
|
|
--FILE--
|
|
<?php
|
|
$sockets = array();
|
|
try {
|
|
socket_create_pair(AF_UNIX, 11 | SOCK_CLOEXEC, 0, $sockets);
|
|
} catch (\ValueError $e) {
|
|
echo $e->getMessage() . PHP_EOL;
|
|
}
|
|
try {
|
|
socket_create_pair(AF_UNIX, 11 | SOCK_NONBLOCK, 0, $sockets);
|
|
} catch (\ValueError $e) {
|
|
echo $e->getMessage() . PHP_EOL;
|
|
}
|
|
try {
|
|
socket_create_pair(AF_UNIX, 11 | SOCK_CLOEXEC | SOCK_NONBLOCK, 0, $sockets);
|
|
} catch (\ValueError $e) {
|
|
echo $e->getMessage() . PHP_EOL;
|
|
}
|
|
var_dump(socket_create_pair(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC | SOCK_NONBLOCK, 0, $sockets));
|
|
?>
|
|
--EXPECTF--
|
|
socket_create_pair(): Argument #2 ($type) must be one of SOCK_STREAM, SOCK_DGRAM, SOCK_SEQPACKET, SOCK_RAW, or SOCK_RDM%A
|
|
socket_create_pair(): Argument #2 ($type) must be one of SOCK_STREAM, SOCK_DGRAM, SOCK_SEQPACKET, SOCK_RAW, or SOCK_RDM%A
|
|
socket_create_pair(): Argument #2 ($type) must be one of SOCK_STREAM, SOCK_DGRAM, SOCK_SEQPACKET, SOCK_RAW, or SOCK_RDM%A
|
|
bool(true)
|