mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Merge branch 'PHP-5.6'
* PHP-5.6: Fix #70456: mysqlnd doesn't activate TCP keep-alive when connecting to a server Resolved conflicts: ext/mysqlnd/mysqlnd_net.c
This commit is contained in:
commit
71f90dfbad
1 changed files with 23 additions and 0 deletions
|
@ -61,6 +61,27 @@ mysqlnd_set_sock_no_delay(php_stream * stream)
|
|||
/* }}} */
|
||||
|
||||
|
||||
/* {{{ mysqlnd_set_sock_keepalive */
|
||||
static int
|
||||
mysqlnd_set_sock_keepalive(php_stream * stream)
|
||||
{
|
||||
|
||||
int socketd = ((php_netstream_data_t*)stream->abstract)->socket;
|
||||
int ret = SUCCESS;
|
||||
int flag = 1;
|
||||
int result = setsockopt(socketd, SOL_SOCKET, SO_KEEPALIVE, (char *) &flag, sizeof(int));
|
||||
|
||||
DBG_ENTER("mysqlnd_set_sock_keepalive");
|
||||
|
||||
if (result == -1) {
|
||||
ret = FAILURE;
|
||||
}
|
||||
|
||||
DBG_RETURN(ret);
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
|
||||
/* {{{ mysqlnd_net::network_read_ex */
|
||||
static enum_func_status
|
||||
MYSQLND_METHOD(mysqlnd_net, network_read_ex)(MYSQLND_NET * const net, zend_uchar * const buffer, const size_t count,
|
||||
|
@ -260,6 +281,8 @@ MYSQLND_METHOD(mysqlnd_net, post_connect_set_opt)(MYSQLND_NET * const net,
|
|||
if (!memcmp(scheme, "tcp://", sizeof("tcp://") - 1)) {
|
||||
/* TCP -> Set TCP_NODELAY */
|
||||
mysqlnd_set_sock_no_delay(net_stream);
|
||||
/* TCP -> Set SO_KEEPALIVE */
|
||||
mysqlnd_set_sock_keepalive(net_stream);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue