mariadb/vio
unknown f7eca60478 FreeBSD patch by Jeremy Zawodny.
His explanation:

 The socket on which MySQL listens for new connections on a blocking
  socket most of the time but is set to non-blocking during the
  accept() of the new connection.  Due to a bug in the kernel, the new
  socket returned by accept() is a blocking socket but returns the
  O_NONBLOCK flag when queried via fcntl(F_GETFL).  That is, the file
  descriptor and the underlying socket don't agree on the blocking
  mode.

  Since MySQL determines via fcntl(F_GETFL) that the socket is
  non-blocking, it expects the first read() in my_real_read to not
  block, so it doesn't enable the timeout alarm.  However, the read
  does block, and thus there's no timeout alarm.  The thread kill
  (which relies on rescheduling the timeout alarm) also does not work
  as a consequence.

The bug shows itself if you build MySQL with LinuxThreads support
(needed for SMP on FreeBSD).  Issuing a KILL command in MySQL won't be
"noticed" by the "killed" thread until it runs another query--that
makes KILL pretty useless.  And the wait_timeout doesn't work either.


vio/vio.c:
  FreeBSD patch by Jeremy Zawodny
2002-11-23 18:41:26 +02:00
..
docs Fixed searching after ssl directories. 2002-09-05 16:17:08 +03:00
.cvsignore
Makefile.am - Applied required modifications for automake 1.5 2002-10-01 21:57:10 +02:00
test-ssl.c Fix after merge 2002-08-08 16:41:04 +03:00
test-sslclient.c Changed ft_dump, ft_eval, ft_test1, mi_test1, myisampack, gen_lex_hash, 2002-05-24 14:06:58 +03:00
test-sslserver.c Enable LOAD DATA LOCAL INFILE in mysql_test 2002-06-04 00:40:27 +03:00
vio.c FreeBSD patch by Jeremy Zawodny. 2002-11-23 18:41:26 +02:00
viosocket.c Added CREATE TEMPORARY TABLES and LOCK TABLES to db and host tables 2002-09-16 15:55:19 +03:00
viossl.c Error code for ssl connection 2002-11-05 12:05:58 +04:00
viosslfactories.c Error code for ssl connection 2002-11-05 12:05:58 +04:00
viotest-ssl.c Changed ft_dump, ft_eval, ft_test1, mi_test1, myisampack, gen_lex_hash, 2002-05-24 14:06:58 +03:00
viotest-sslconnect.cc
viotest.cc