remove unused intern_server_version
small update to readme
Check that dir_config returns at least one valid directory separated by PATH_SEPARATOR
Merge pull request #491 from sodabrew/extconf_path_separator

Check that dir_config returns at least one valid directory
README.md update

[ci skip]
Merge pull request #492 from simi/patch-1

README.md update
Avoid shutdown() on shared sockets (fixes #213)

Close the mysql socket before calling mysql_close(). mysql_close() calls
shutdown() on the attached socket. In a situation involving fork() and copies
of an object spanning multiple interpreter instances this will result in the
first instance to GC breaking all other instances sharing the socket.

dylanahsmith notes that we can avoid this by simply closing the socket before
entering mysql_close(), preventing the shutdown() from having any impact on the
shared socket state.
Merge pull request #463 from eam/master

Don’t shutdown() shared sockets (fixes #213)
Move fcntl.h from mysql2_ext.h to infile.c
Travis tests on Ruby 2.1.1
avoid redundant close from calling mysql_close

Calling close redundantly on an FD means a race condition will break
multithreaded applications (or worse, lead to inadvertant
information disclosure).  Consider the following multithreaded
timeline with two threads:

thread 1 (mysql2 close)          | thread 2 (blocking accept loop)
---------------------------------+----------------------------------
close(9) -> fd=9 released        |
                                 | accept() -> fd=9 acquired
mysql_close -> close(9)          |
 # releases fd=9 which thread 2  |
 # just took using accept()      |
                                 | read(9) -> EBADF!

We must prevent mysql_close from possibly hitting a recycled FD when
it calls close again.  So we redirect the existing FD to a dummy
socket (atomically closing the original FD/socket in the process).
This means mysql_close will call close on a valid FD, but that FD
now points to a dummy socket and not a valid FD.

I considered using socketpair (to ensure write/shutdown inside
mysql_close succeeds), but decided against it as there may be
a chance the client library will one day wait for a disconnect
message from the server.

Thanks to Evan Miller <eam@frap.net> for this idea.
Call invalidate_fd in disconnect_and_raise
Atomically set CLOEXEC on the dummy socket in invalidate_fd if possible
Merge pull request #498 from sodabrew/close-race-fix

avoid redundant close from calling mysql_close
Update the README Compatibility section for MariaDB etc.
Add Ruby 2.0 + MariaDB 5.5 / 10.0 to the Travis matrix
Merge branch 'travis_mariadb'
Allow setting the init command on the connection.

When reconnect is enabled, it is handled within libmysqlclient.

In such case, if a connection sets any session variables after connecting,
they will be lost after the reconnection.
Update README with information about the init_command option
Moving the init_command section in README