Below is the list of changes that have just been committed into a local
5.0 repository of svoj. When svoj does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet@stripped, 2007-07-31 16:25:26+05:00, svoj@stripped +1 -0
BUG#28812 - rpl_ssl fails due to assert in
extra/yassl/src/socket_wrapper.cpp:117
yaSSL related part of this problem was fixed by Damien (see BUG29579).
MySQL server part of this problem is:
Issuing STOP SLAVE may cause assertion failure in debug builds on following
platforms: HPUX, MacOS X, Windows.
Fixed by disabling assertion on these platforms.
vio/viosocket.c@stripped, 2007-07-31 16:25:17+05:00, svoj@stripped +6 -0
We may enter vio_close() concurrently on platforms with active_vio hack
enabled. This may happen for example with the following stack trace:
thr1: STOP SLAVE/THD::awake()/close_active_vio()/vio_close()
thr2: handle_slave_io()/mysql_real_connect()/end_server/vio_delete()/vio_close()
As a workaround disable assertion in vio_close() on platforms with active_vio
hack.
diff -Nrup a/vio/viosocket.c b/vio/viosocket.c
--- a/vio/viosocket.c 2007-05-24 14:21:24 +05:00
+++ b/vio/viosocket.c 2007-07-31 16:25:17 +05:00
@@ -275,7 +275,13 @@ int vio_close(Vio * vio)
#endif /* __WIN__ */
if (vio->type != VIO_CLOSED)
{
+#ifndef SIGNAL_WITH_VIO_CLOSE
+ /*
+ Two threads may call vio_close concurrently in case
+ SIGNAL_WITH_VIO_CLOSE is defined.
+ */
DBUG_ASSERT(vio->sd >= 0);
+#endif
if (shutdown(vio->sd, SHUT_RDWR))
r= -1;
if (closesocket(vio->sd))
| Thread |
|---|
| • bk commit into 5.0 tree (svoj:1.2487) BUG#28812 | Sergey Vojtovich | 31 Jul |