summaryrefslogtreecommitdiff
path: root/sql/mysqld.cc
diff options
context:
space:
mode:
authormonty@work.mysql.com <>2001-09-13 09:52:35 +0200
committermonty@work.mysql.com <>2001-09-13 09:52:35 +0200
commit18474d84196f937a9a0bca49d8a822d3e48bf298 (patch)
tree1fb0fbca5b7a4edebe2c26a5ed0b272e92bc21f2 /sql/mysqld.cc
parent08df09230f26ec86e61d3297314343ee65092359 (diff)
parentc946439d6c8d402a0a1a2a6520760dab16648c21 (diff)
downloadmariadb-git-18474d84196f937a9a0bca49d8a822d3e48bf298.tar.gz
Merge with 3.23.42
Diffstat (limited to 'sql/mysqld.cc')
-rw-r--r--sql/mysqld.cc27
1 files changed, 14 insertions, 13 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 05fdf6316c2..20ccb6d1f76 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -650,9 +650,7 @@ static void __cdecl kill_server(int sig_ptr)
unireg_abort(1); /* purecov: inspected */
else
unireg_end(0);
-#ifndef OS2
pthread_exit(0); /* purecov: deadcode */
-#endif
RETURN_FROM_KILL_SERVER;
}
@@ -684,9 +682,7 @@ static sig_handler print_signal_warning(int sig)
void unireg_end(int signal_number __attribute__((unused)))
{
clean_up();
-#ifndef OS2
pthread_exit(0); // Exit is in main thread
-#endif
}
@@ -1493,10 +1489,6 @@ static int my_message_sql(uint error, const char *str,
}
#ifdef __WIN__
-#undef errno
-#undef EINTR
-#define errno WSAGetLastError()
-#define EINTR WSAEINTR
struct utsname
{
@@ -1609,18 +1601,26 @@ int main(int argc, char **argv)
tzset(); // Set tzname
start_time=time((time_t*) 0);
+#ifdef OS2
+ {
+ // fix timezone for daylight saving
+ struct tm *ts = localtime(&start_time);
+ if (ts->tm_isdst > 0)
+ _timezone -= 3600;
+ }
+#endif
#ifdef HAVE_TZNAME
#if defined(HAVE_LOCALTIME_R) && defined(_REENTRANT)
{
struct tm tm_tmp;
localtime_r(&start_time,&tm_tmp);
- strmov(time_zone,tzname[tm_tmp.tm_isdst == 1 ? 1 : 0]);
+ strmov(time_zone,tzname[tm_tmp.tm_isdst != 0 ? 1 : 0]);
}
#else
{
struct tm *start_tm;
start_tm=localtime(&start_time);
- strmov(time_zone,tzname[start_tm->tm_isdst == 1 ? 1 : 0]);
+ strmov(time_zone,tzname[start_tm->tm_isdst != 0 ? 1 : 0]);
}
#endif
#endif
@@ -2305,7 +2305,7 @@ pthread_handler_decl(handle_connections_sockets,arg __attribute__((unused)))
#else
if (select((int) max_used_connection,&readFDs,0,0,0) < 0)
{
- if (socket_errno != EINTR)
+ if (socket_errno != SOCKET_EINTR)
{
if (!select_errors++ && !abort_loop) /* purecov: inspected */
sql_print_error("mysqld: Got error %d from select",socket_errno); /* purecov: inspected */
@@ -2348,7 +2348,8 @@ pthread_handler_decl(handle_connections_sockets,arg __attribute__((unused)))
size_socket length=sizeof(struct sockaddr_in);
new_sock = accept(sock, my_reinterpret_cast(struct sockaddr *) (&cAddr),
&length);
- if (new_sock != INVALID_SOCKET || (errno != EINTR && errno != EAGAIN))
+ if (new_sock != INVALID_SOCKET ||
+ (socket_errno != SOCKET_EINTR && socket_errno != SOCKET_EAGAIN))
break;
#if !defined(NO_FCNTL_NONBLOCK)
if (!(test_flags & TEST_BLOCKING))
@@ -2366,7 +2367,7 @@ pthread_handler_decl(handle_connections_sockets,arg __attribute__((unused)))
{
if ((error_count++ & 255) == 0) // This can happen often
sql_perror("Error in accept");
- if (errno == ENFILE || errno == EMFILE)
+ if (socket_errno == SOCKET_ENFILE || socket_errno == SOCKET_EMFILE)
sleep(1); // Give other threads some time
continue;
}