diff options
author | Chip Turner <cturner@pattern.net> | 2013-08-23 13:08:07 -0700 |
---|---|---|
committer | Chip Turner <cturner@pattern.net> | 2013-08-23 13:10:07 -0700 |
commit | 7e73533dd96da3fcd4c9eb3e9cff4a4dee19d8f0 (patch) | |
tree | 60b6d108455d217d1072c448ec4a48318bfe76ea | |
parent | c8b2744ea2b1e4419b7e3d93928e92c95f366815 (diff) | |
download | mysqldb1-7e73533dd96da3fcd4c9eb3e9cff4a4dee19d8f0.tar.gz |
Extend read_timeout support to also include write_timeouts
-rw-r--r-- | _mysql.c | 22 |
1 files changed, 15 insertions, 7 deletions
@@ -121,7 +121,7 @@ static int _mysql_server_init_done = 0; /* According to https://dev.mysql.com/doc/refman/5.1/en/mysql-options.html The MYSQL_OPT_READ_TIMEOUT apear in the version 5.1.12 */ #if MYSQL_VERSION_ID > 50112 -#define HAVE_MYSQL_OPT_READ_TIMEOUT 1 +#define HAVE_MYSQL_OPT_TIMEOUTS 1 #endif PyObject * @@ -566,13 +566,15 @@ _mysql_ConnectionObject_Initialize( "read_default_file", "read_default_group", "client_flag", "ssl", "local_infile", -#ifdef HAVE_MYSQL_OPT_READ_TIMEOUT +#ifdef HAVE_MYSQL_OPT_TIMEOUTS "read_timeout", + "write_timeout", #endif NULL } ; int connect_timeout = 0; -#ifdef HAVE_MYSQL_OPT_READ_TIMEOUT +#ifdef HAVE_MYSQL_OPT_TIMEOUTS int read_timeout = 0; + int write_timeout = 0; #endif int compress = -1, named_pipe = -1, local_infile = -1; char *init_command=NULL, @@ -584,8 +586,8 @@ _mysql_ConnectionObject_Initialize( check_server_init(-1); if (!PyArg_ParseTupleAndKeywords(args, kwargs, -#ifdef HAVE_MYSQL_OPT_READ_TIMEOUT - "|ssssisOiiisssiOii:connect", +#ifdef HAVE_MYSQL_OPT_TIMEOUTS + "|ssssisOiiisssiOiii:connect", #else "|ssssisOiiisssiOi:connect", #endif @@ -598,8 +600,9 @@ _mysql_ConnectionObject_Initialize( &read_default_group, &client_flag, &ssl, &local_infile -#ifdef HAVE_MYSQL_OPT_READ_TIMEOUT +#ifdef HAVE_MYSQL_OPT_TIMEOUTS , &read_timeout + , &write_timeout #endif )) return -1; @@ -636,12 +639,17 @@ _mysql_ConnectionObject_Initialize( mysql_options(&(self->connection), MYSQL_OPT_CONNECT_TIMEOUT, (char *)&timeout); } -#ifdef HAVE_MYSQL_OPT_READ_TIMEOUT +#ifdef HAVE_MYSQL_OPT_TIMEOUTS if (read_timeout) { unsigned int timeout = read_timeout; mysql_options(&(self->connection), MYSQL_OPT_READ_TIMEOUT, (char *)&timeout); } + if (write_timeout) { + unsigned int timeout = write_timeout; + mysql_options(&(self->connection), MYSQL_OPT_WRITE_TIMEOUT, + (char *)&timeout); + } #endif if (compress != -1) { mysql_options(&(self->connection), MYSQL_OPT_COMPRESS, 0); |