[MDEV-5311] vio_end() is called twice by embedded server Created: 2013-11-19  Updated: 2013-11-25  Resolved: 2013-11-25

Status: Closed
Project: MariaDB Server
Component/s: None
Affects Version/s: 5.5.33a, 10.0.6
Fix Version/s: 5.5.35, 10.0.7

Type: Bug Priority: Major
Reporter: Alexander Barkov Assignee: Alexey Botchkov
Resolution: Fixed Votes: 0
Labels: None


 Description   

vio_end() is called twice in this fragment in libmysql/libmysql.c in case of embedded server:

void STDCALL mysql_server_end()
{
  if (!mysql_client_init)
    return;
 
  mysql_client_plugin_deinit();
 
#ifdef EMBEDDED_LIBRARY
  end_embedded_server();
#endif
  finish_client_errs();
  vio_end();

First time it's called from end_embedded_server() via clean_up().
Second time it's called from mysql_server_end() directly.

The problem does not show up in any ways with the standard
yassl and openssl libraries, but it's reported that mysqltest_embedded
hangs when linked against a custom built openssl library.
See the comments in the end of MDEV-4890.



 Comments   
Comment by Alexey Botchkov [ 2013-11-24 ]

Patch proposal:
http://lists.askmonty.org/pipermail/commits/2013-November/005715.html

Should also fix https://mariadb.atlassian.net/browse/MDEV-5321

Generated at Thu Feb 08 07:03:19 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.