List:Commits« Previous MessageNext Message »
From:Sergey Vojtovich Date:July 31 2007 1:25pm
Subject:bk commit into 5.0 tree (svoj:1.2487) BUG#28812
View as plain text  
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#28812Sergey Vojtovich31 Jul