summaryrefslogtreecommitdiff
path: root/sql/mysqld.cc
diff options
context:
space:
mode:
authorunknown <pem@mysql.com>2005-05-27 11:28:03 +0200
committerunknown <pem@mysql.com>2005-05-27 11:28:03 +0200
commit03787cce758d1b6a368f7953b374d1483955e181 (patch)
tree7b8bb0cde610ce9c49e95c130b5c1b27a8571ec5 /sql/mysqld.cc
parent6a7dedf25909719fe5a8c2f98f87e18e6461b705 (diff)
parent0d8dce039bce76d83702ab5b773ca67120a042e1 (diff)
downloadmariadb-git-03787cce758d1b6a368f7953b374d1483955e181.tar.gz
Merge mysql.com:/usr/local/bk/mysql-5.0
into mysql.com:/home/pem/work/mysql-5.0 sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged
Diffstat (limited to 'sql/mysqld.cc')
-rw-r--r--sql/mysqld.cc24
1 files changed, 21 insertions, 3 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 5254214c992..55a564abaea 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -348,7 +348,7 @@ uint tc_heuristic_recover= 0;
uint volatile thread_count, thread_running;
ulong back_log, connect_timeout, concurrency;
ulong server_id, thd_startup_options;
-ulong table_cache_size, thread_stack, thread_stack_min, what_to_log;
+ulong table_cache_size, thread_stack, what_to_log;
ulong query_buff_size, slow_launch_time, slave_open_temp_tables;
ulong open_files_limit, max_binlog_size, max_relay_log_size;
ulong slave_net_timeout, slave_trans_retries;
@@ -2089,8 +2089,14 @@ static void start_signal_handler(void)
(void) pthread_attr_setdetachstate(&thr_attr,PTHREAD_CREATE_DETACHED);
if (!(opt_specialflag & SPECIAL_NO_PRIOR))
my_pthread_attr_setprio(&thr_attr,INTERRUPT_PRIOR);
+#if defined(__ia64__) || defined(__ia64)
+ /* Peculiar things with ia64 platforms - it seems we only have half the
+ stack size in reality, so we have to double it here */
+ pthread_attr_setstacksize(&thr_attr,thread_stack*2);
+#else
pthread_attr_setstacksize(&thr_attr,thread_stack);
#endif
+#endif
(void) pthread_mutex_lock(&LOCK_thread_count);
if ((error=pthread_create(&signal_thread,&thr_attr,signal_hand,0)))
@@ -3010,23 +3016,35 @@ int main(int argc, char **argv)
init_signals();
if (!(opt_specialflag & SPECIAL_NO_PRIOR))
my_pthread_setprio(pthread_self(),CONNECT_PRIOR);
+#if defined(__ia64__) || defined(__ia64)
+ /* Peculiar things with ia64 platforms - it seems we only have half the
+ stack size in reality, so we have to double it here */
+ pthread_attr_setstacksize(&connection_attrib,thread_stack*2);
+#else
pthread_attr_setstacksize(&connection_attrib,thread_stack);
+#endif
#ifdef HAVE_PTHREAD_ATTR_GETSTACKSIZE
{
/* Retrieve used stack size; Needed for checking stack overflows */
size_t stack_size= 0;
pthread_attr_getstacksize(&connection_attrib, &stack_size);
+#if defined(__ia64__) || defined(__ia64)
+ stack_size/= 2;
+#endif
/* We must check if stack_size = 0 as Solaris 2.9 can return 0 here */
if (stack_size && stack_size < thread_stack)
{
if (global_system_variables.log_warnings)
sql_print_warning("Asked for %ld thread stack, but got %ld",
- thread_stack, stack_size);
+ thread_stack, stack_size);
+#if defined(__ia64__) || defined(__ia64)
+ thread_stack= stack_size*2;
+#else
thread_stack= stack_size;
+#endif
}
}
#endif
- thread_stack_min=thread_stack - STACK_MIN_SIZE;
(void) thr_setconcurrency(concurrency); // 10 by default