Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
9EOR9 committed Jun 1, 2016
2 parents 3d83b9b + 7496789 commit ac65121
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 18 deletions.
1 change: 1 addition & 0 deletions include/mariadb_com.h
Expand Up @@ -157,6 +157,7 @@ enum enum_server_command
#define CLIENT_CONNECT_ATTRS (1UL << 20)
#define CLIENT_SESSION_TRACKING (1UL << 23)
#define CLIENT_PROGRESS (1UL << 29) /* client supports progress indicator */
#define CLIENT_PROGRESS_OBSOLETE CLIENT_PROGRESS
#define CLIENT_SSL_VERIFY_SERVER_CERT (1UL << 30)
#define CLIENT_REMEMBER_OPTIONS (1UL << 31)

Expand Down
18 changes: 0 additions & 18 deletions libmariadb/mariadb_lib.c
Expand Up @@ -3473,13 +3473,6 @@ BOOL CALLBACK win_init_once(
}
#endif

#if defined(SIGPIPE) && !defined(_WIN32) && defined(WITH_OPENSSL)
static void ma_sigpipe_handler()
{
return;
}
#endif

int STDCALL mysql_server_init(int argc __attribute__((unused)),
char **argv __attribute__((unused)),
char **groups __attribute__((unused)))
Expand All @@ -3490,17 +3483,6 @@ int STDCALL mysql_server_init(int argc __attribute__((unused)),
return ret? 0: 1;
#else
static pthread_once_t init_once = PTHREAD_ONCE_INIT;
#if defined(SIGPIPE) && defined(WITH_OPENSSL)
struct sigaction old_handler, new_handler={NULL};
if (!sigaction (SIGPIPE, NULL, &old_handler) &&
!old_handler.sa_handler)
{
new_handler.sa_handler= ma_sigpipe_handler;
new_handler.sa_flags= 0;
if (!sigemptyset(&new_handler.sa_mask))
sigaction(SIGPIPE, &new_handler, NULL);
}
#endif
return pthread_once(&init_once, mysql_once_init);
#endif
}
Expand Down
23 changes: 23 additions & 0 deletions libmariadb/secure/openssl.c
Expand Up @@ -226,6 +226,28 @@ static int ssl_thread_init()
}


#ifdef _WIN32
#define disable_sigpipe()
#else
#include <signal.h>
static void ma_sigpipe_handler()
{
}

static void disable_sigpipe()
{
struct sigaction old_handler, new_handler={NULL};
if (!sigaction (SIGPIPE, NULL, &old_handler) &&
!old_handler.sa_handler)
{
new_handler.sa_handler= ma_sigpipe_handler;
new_handler.sa_flags= 0;
if (!sigemptyset(&new_handler.sa_mask))
sigaction(SIGPIPE, &new_handler, NULL);
}
}
#endif

/*
Initializes SSL and allocate global
context SSL_context
Expand Down Expand Up @@ -276,6 +298,7 @@ int ma_tls_start(char *errmsg, size_t errmsg_len)
SSL_CTX_sess_set_new_cb(SSL_context, ma_tls_session_cb);
SSL_CTX_sess_set_remove_cb(SSL_context, ma_tls_remove_session_cb);
#endif
disable_sigpipe();
rc= 0;
ma_tls_initialized= TRUE;
end:
Expand Down

0 comments on commit ac65121

Please sign in to comment.