diff options
author | unknown <knielsen@knielsen-hq.org> | 2012-10-12 11:00:01 +0200 |
---|---|---|
committer | unknown <knielsen@knielsen-hq.org> | 2012-10-12 11:00:01 +0200 |
commit | 52c84d144d3b07966d9b3bab8694eb012eef69ce (patch) | |
tree | 2419ab191bc656e3355fdd38b8cf274f68f4a049 /include/mysql.h.pp | |
parent | d7e0499407aa684f1d09cf295dba9f912b74fd3b (diff) | |
download | mariadb-git-52c84d144d3b07966d9b3bab8694eb012eef69ce.tar.gz |
MDEV-3802: Millisecond timeout support in non-blocking client library + fix incorrect blocking.
After the merge of VIO stuff from MySQL 5.6, there were some bugs left
in the non-blocking client library:
- vio_io_wait() was introduced without any support for non-blocking operation,
so async queries could turn into sync.
- Timeouts were changed to milliseconds, but this was not reflected in the
non-blocking API, also semantics was changed so signed -1 was used for
"no timeout" rather than unsigned 0.
Fix by implementing and using my_io_wait_async() in the non-blocking case. And
by introducing a new mysql_get_timeout_value_ms() API function that provides
the timeout with millisecond granularity. The old mysql_get_timeout_value()
is kept and fixed to work correctly, converting the timeout to whole seconds.
Diffstat (limited to 'include/mysql.h.pp')
-rw-r--r-- | include/mysql.h.pp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/mysql.h.pp b/include/mysql.h.pp index b177c36f90c..361f1a323ae 100644 --- a/include/mysql.h.pp +++ b/include/mysql.h.pp @@ -733,3 +733,4 @@ int mysql_close_start(MYSQL *sock); int mysql_close_cont(MYSQL *sock, int status); my_socket mysql_get_socket(const MYSQL *mysql); unsigned int mysql_get_timeout_value(const MYSQL *mysql); +unsigned int mysql_get_timeout_value_ms(const MYSQL *mysql); |