mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-03 14:33:32 +03:00 
			
		
		
		
	Merge aivanov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into mysql.com:/home/alexi/innodb/mysql-5.1-ss492
This commit is contained in:
		
							
								
								
									
										1
									
								
								mysql-test/r/innodb_mysql.result
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								mysql-test/r/innodb_mysql.result
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					drop table if exists t1;
 | 
				
			||||||
@@ -1,3 +1,16 @@
 | 
				
			|||||||
 | 
					#######################################################################
 | 
				
			||||||
 | 
					#                                                                     #
 | 
				
			||||||
 | 
					# Please, DO NOT TOUCH this file as well as the innodb.result file.   #
 | 
				
			||||||
 | 
					# These files are to be modified ONLY BY INNOBASE guys.               #
 | 
				
			||||||
 | 
					#                                                                     #
 | 
				
			||||||
 | 
					# Use innodb_mysql.[test|result] files instead.                       #
 | 
				
			||||||
 | 
					#                                                                     #
 | 
				
			||||||
 | 
					# If nevertheless you need to make some changes here, please, forward #
 | 
				
			||||||
 | 
					# your commit message To: dev@innodb.com Cc: dev-innodb@mysql.com     #
 | 
				
			||||||
 | 
					# (otherwise your changes may be erased).                             #
 | 
				
			||||||
 | 
					#                                                                     #
 | 
				
			||||||
 | 
					#######################################################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- source include/have_innodb.inc
 | 
					-- source include/have_innodb.inc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										5
									
								
								mysql-test/t/innodb_mysql.test
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								mysql-test/t/innodb_mysql.test
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
				
			|||||||
 | 
					-- source include/have_innodb.inc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--disable_warnings
 | 
				
			||||||
 | 
					drop table if exists t1;
 | 
				
			||||||
 | 
					--enable_warnings
 | 
				
			||||||
@@ -243,11 +243,10 @@ dict_remove_db_name(
 | 
				
			|||||||
	const char*	name)	/* in: table name in the form
 | 
						const char*	name)	/* in: table name in the form
 | 
				
			||||||
				dbname '/' tablename */
 | 
									dbname '/' tablename */
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	const char*	s;
 | 
						const char*	s = strchr(name, '/');
 | 
				
			||||||
	s = strchr(name, '/');
 | 
					 | 
				
			||||||
	ut_a(s);
 | 
						ut_a(s);
 | 
				
			||||||
	if (s) s++;
 | 
					
 | 
				
			||||||
	return(s);
 | 
						return(s + 1);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/************************************************************************
 | 
					/************************************************************************
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -617,7 +617,7 @@ dict_load_indexes(
 | 
				
			|||||||
			break;
 | 
								break;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (rec_get_deleted_flag(rec, dict_table_is_comp(table))) {
 | 
							if (rec_get_deleted_flag(rec, 0)) {
 | 
				
			||||||
			dict_load_report_deleted_index(table->name,
 | 
								dict_load_report_deleted_index(table->name,
 | 
				
			||||||
				ULINT_UNDEFINED);
 | 
									ULINT_UNDEFINED);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -77,7 +77,7 @@ os_thread_create(
 | 
				
			|||||||
	void*			arg,		/* in: argument to start
 | 
						void*			arg,		/* in: argument to start
 | 
				
			||||||
						function */
 | 
											function */
 | 
				
			||||||
	os_thread_id_t*		thread_id);	/* out: id of the created
 | 
						os_thread_id_t*		thread_id);	/* out: id of the created
 | 
				
			||||||
						thread */
 | 
											thread, or NULL */
 | 
				
			||||||
int
 | 
					int
 | 
				
			||||||
os_thread_join(
 | 
					os_thread_join(
 | 
				
			||||||
/*===========*/
 | 
					/*===========*/
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -157,33 +157,12 @@ extern	ulint	srv_pool_size;
 | 
				
			|||||||
extern	ulint	srv_mem_pool_size;
 | 
					extern	ulint	srv_mem_pool_size;
 | 
				
			||||||
extern	ulint	srv_lock_table_size;
 | 
					extern	ulint	srv_lock_table_size;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
extern	ulint	srv_sim_disk_wait_pct;
 | 
					 | 
				
			||||||
extern	ulint	srv_sim_disk_wait_len;
 | 
					 | 
				
			||||||
extern	ibool	srv_sim_disk_wait_by_yield;
 | 
					 | 
				
			||||||
extern	ibool	srv_sim_disk_wait_by_wait;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
extern	ibool	srv_measure_contention;
 | 
					 | 
				
			||||||
extern	ibool	srv_measure_by_spin;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
extern	ibool	srv_print_thread_releases;
 | 
					extern	ibool	srv_print_thread_releases;
 | 
				
			||||||
extern	ibool	srv_print_lock_waits;
 | 
					extern	ibool	srv_print_lock_waits;
 | 
				
			||||||
extern	ibool	srv_print_buf_io;
 | 
					extern	ibool	srv_print_buf_io;
 | 
				
			||||||
extern	ibool	srv_print_log_io;
 | 
					extern	ibool	srv_print_log_io;
 | 
				
			||||||
extern	ibool	srv_print_parsed_sql;
 | 
					 | 
				
			||||||
extern	ibool	srv_print_latch_waits;
 | 
					extern	ibool	srv_print_latch_waits;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
extern	ibool	srv_test_nocache;
 | 
					 | 
				
			||||||
extern	ibool	srv_test_cache_evict;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
extern	ibool	srv_test_extra_mutexes;
 | 
					 | 
				
			||||||
extern	ibool	srv_test_sync;
 | 
					 | 
				
			||||||
extern	ulint	srv_test_n_threads;
 | 
					 | 
				
			||||||
extern	ulint	srv_test_n_loops;
 | 
					 | 
				
			||||||
extern	ulint	srv_test_n_free_rnds;
 | 
					 | 
				
			||||||
extern	ulint	srv_test_n_reserved_rnds;
 | 
					 | 
				
			||||||
extern	ulint	srv_test_n_mutexes;
 | 
					 | 
				
			||||||
extern	ulint	srv_test_array_size;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
extern ulint	srv_activity_count;
 | 
					extern ulint	srv_activity_count;
 | 
				
			||||||
extern ulint	srv_fatal_semaphore_wait_threshold;
 | 
					extern ulint	srv_fatal_semaphore_wait_threshold;
 | 
				
			||||||
extern ulint	srv_dml_needed_delay;
 | 
					extern ulint	srv_dml_needed_delay;
 | 
				
			||||||
@@ -365,11 +344,7 @@ srv_release_threads(
 | 
				
			|||||||
/*************************************************************************
 | 
					/*************************************************************************
 | 
				
			||||||
The master thread controlling the server. */
 | 
					The master thread controlling the server. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef __WIN__
 | 
					os_thread_ret_t
 | 
				
			||||||
void*
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
ulint
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
srv_master_thread(
 | 
					srv_master_thread(
 | 
				
			||||||
/*==============*/
 | 
					/*==============*/
 | 
				
			||||||
			/* out: a dummy parameter */
 | 
								/* out: a dummy parameter */
 | 
				
			||||||
@@ -451,11 +426,7 @@ srv_release_mysql_thread_if_suspended(
 | 
				
			|||||||
A thread which wakes up threads whose lock wait may have lasted too long.
 | 
					A thread which wakes up threads whose lock wait may have lasted too long.
 | 
				
			||||||
This also prints the info output by various InnoDB monitors. */
 | 
					This also prints the info output by various InnoDB monitors. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef __WIN__
 | 
					os_thread_ret_t
 | 
				
			||||||
void*
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
ulint
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
srv_lock_timeout_and_monitor_thread(
 | 
					srv_lock_timeout_and_monitor_thread(
 | 
				
			||||||
/*================================*/
 | 
					/*================================*/
 | 
				
			||||||
			/* out: a dummy parameter */
 | 
								/* out: a dummy parameter */
 | 
				
			||||||
@@ -465,11 +436,7 @@ srv_lock_timeout_and_monitor_thread(
 | 
				
			|||||||
A thread which prints warnings about semaphore waits which have lasted
 | 
					A thread which prints warnings about semaphore waits which have lasted
 | 
				
			||||||
too long. These can be used to track bugs which cause hangs. */
 | 
					too long. These can be used to track bugs which cause hangs. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef __WIN__
 | 
					os_thread_ret_t
 | 
				
			||||||
void*
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
ulint
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
srv_error_monitor_thread(
 | 
					srv_error_monitor_thread(
 | 
				
			||||||
/*=====================*/
 | 
					/*=====================*/
 | 
				
			||||||
			/* out: a dummy parameter */
 | 
								/* out: a dummy parameter */
 | 
				
			||||||
@@ -567,9 +534,6 @@ struct export_var_struct{
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
/* The server system struct */
 | 
					/* The server system struct */
 | 
				
			||||||
struct srv_sys_struct{
 | 
					struct srv_sys_struct{
 | 
				
			||||||
	os_event_t	operational;	/* created threads must wait for the
 | 
					 | 
				
			||||||
					server to become operational by
 | 
					 | 
				
			||||||
					waiting for this event */
 | 
					 | 
				
			||||||
	srv_table_t*	threads;	/* server thread table */
 | 
						srv_table_t*	threads;	/* server thread table */
 | 
				
			||||||
	UT_LIST_BASE_NODE_T(que_thr_t)
 | 
						UT_LIST_BASE_NODE_T(que_thr_t)
 | 
				
			||||||
			tasks;		/* task queue */
 | 
								tasks;		/* task queue */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -107,11 +107,7 @@ transaction already was committed, then we clean up a possible insert
 | 
				
			|||||||
undo log. If the transaction was not yet committed, then we roll it back.
 | 
					undo log. If the transaction was not yet committed, then we roll it back.
 | 
				
			||||||
Note: this is done in a background thread. */
 | 
					Note: this is done in a background thread. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef __WIN__
 | 
					os_thread_ret_t
 | 
				
			||||||
void*
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
ulint
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
trx_rollback_or_clean_all_without_sess(
 | 
					trx_rollback_or_clean_all_without_sess(
 | 
				
			||||||
/*===================================*/
 | 
					/*===================================*/
 | 
				
			||||||
			/* out: a dummy parameter */
 | 
								/* out: a dummy parameter */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -273,6 +273,18 @@ it is read or written. */
 | 
				
			|||||||
/* Compile-time constant of the given array's size. */
 | 
					/* Compile-time constant of the given array's size. */
 | 
				
			||||||
#define UT_ARR_SIZE(a) (sizeof(a) / sizeof((a)[0]))
 | 
					#define UT_ARR_SIZE(a) (sizeof(a) / sizeof((a)[0]))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* The return type from a thread's start function differs between Unix and
 | 
				
			||||||
 | 
					Windows, so define a typedef for it and a macro to use at the end of such
 | 
				
			||||||
 | 
					functions. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef __WIN__
 | 
				
			||||||
 | 
					typedef ulint os_thread_ret_t;
 | 
				
			||||||
 | 
					#define OS_THREAD_DUMMY_RETURN return(0)
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					typedef void* os_thread_ret_t;
 | 
				
			||||||
 | 
					#define OS_THREAD_DUMMY_RETURN return(NULL)
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <stdio.h>
 | 
					#include <stdio.h>
 | 
				
			||||||
#include "ut0dbg.h"
 | 
					#include "ut0dbg.h"
 | 
				
			||||||
#include "ut0ut.h"
 | 
					#include "ut0ut.h"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2940,7 +2940,6 @@ recv_recovery_from_checkpoint_finish(void)
 | 
				
			|||||||
/*======================================*/
 | 
					/*======================================*/
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	int		i;
 | 
						int		i;
 | 
				
			||||||
	os_thread_id_t	recovery_thread_id;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Apply the hashed log records to the respective file pages */
 | 
						/* Apply the hashed log records to the respective file pages */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -2984,7 +2983,7 @@ recv_recovery_from_checkpoint_finish(void)
 | 
				
			|||||||
		session */
 | 
							session */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		os_thread_create(trx_rollback_or_clean_all_without_sess,
 | 
							os_thread_create(trx_rollback_or_clean_all_without_sess,
 | 
				
			||||||
				(void *)&i, &recovery_thread_id);
 | 
									(void *)&i, NULL);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -96,7 +96,7 @@ os_thread_create(
 | 
				
			|||||||
	void*			arg,		/* in: argument to start
 | 
						void*			arg,		/* in: argument to start
 | 
				
			||||||
						function */
 | 
											function */
 | 
				
			||||||
	os_thread_id_t*		thread_id)	/* out: id of the created
 | 
						os_thread_id_t*		thread_id)	/* out: id of the created
 | 
				
			||||||
						thread */
 | 
											thread, or NULL */
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
#ifdef __WIN__
 | 
					#ifdef __WIN__
 | 
				
			||||||
	os_thread_t	thread;
 | 
						os_thread_t	thread;
 | 
				
			||||||
@@ -122,7 +122,9 @@ os_thread_create(
 | 
				
			|||||||
		ut_a(SetThreadPriority(thread, srv_query_thread_priority));
 | 
							ut_a(SetThreadPriority(thread, srv_query_thread_priority));
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (thread_id) {
 | 
				
			||||||
		*thread_id = win_thread_id;
 | 
							*thread_id = win_thread_id;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return(thread);
 | 
						return(thread);
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
@@ -180,7 +182,9 @@ os_thread_create(
 | 
				
			|||||||
		my_pthread_setprio(pthread, srv_query_thread_priority);
 | 
							my_pthread_setprio(pthread, srv_query_thread_priority);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (thread_id) {
 | 
				
			||||||
		*thread_id = pthread;
 | 
							*thread_id = pthread;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return(pthread);
 | 
						return(pthread);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1340,14 +1340,6 @@ loop:
 | 
				
			|||||||
	next_thr = que_thr_step(thr);
 | 
						next_thr = que_thr_step(thr);
 | 
				
			||||||
	/*-------------------------*/
 | 
						/*-------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Test the effect on performance of adding extra mutex
 | 
					 | 
				
			||||||
	reservations */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/*	if (srv_test_extra_mutexes) {
 | 
					 | 
				
			||||||
		mutex_enter(&kernel_mutex);
 | 
					 | 
				
			||||||
		mutex_exit(&kernel_mutex);
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
*/
 | 
					 | 
				
			||||||
	loop_count++;
 | 
						loop_count++;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (next_thr != thr) {
 | 
						if (next_thr != thr) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -362,30 +362,6 @@ ibool	srv_print_innodb_lock_monitor	= FALSE;
 | 
				
			|||||||
ibool	srv_print_innodb_tablespace_monitor = FALSE;
 | 
					ibool	srv_print_innodb_tablespace_monitor = FALSE;
 | 
				
			||||||
ibool	srv_print_innodb_table_monitor = FALSE;
 | 
					ibool	srv_print_innodb_table_monitor = FALSE;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* The parameters below are obsolete: */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ibool	srv_print_parsed_sql		= FALSE;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ulint	srv_sim_disk_wait_pct		= ULINT_MAX;
 | 
					 | 
				
			||||||
ulint	srv_sim_disk_wait_len		= ULINT_MAX;
 | 
					 | 
				
			||||||
ibool	srv_sim_disk_wait_by_yield	= FALSE;
 | 
					 | 
				
			||||||
ibool	srv_sim_disk_wait_by_wait	= FALSE;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ibool	srv_measure_contention	= FALSE;
 | 
					 | 
				
			||||||
ibool	srv_measure_by_spin	= FALSE;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ibool	srv_test_extra_mutexes	= FALSE;
 | 
					 | 
				
			||||||
ibool	srv_test_nocache	= FALSE;
 | 
					 | 
				
			||||||
ibool	srv_test_cache_evict	= FALSE;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ibool	srv_test_sync		= FALSE;
 | 
					 | 
				
			||||||
ulint	srv_test_n_threads	= ULINT_MAX;
 | 
					 | 
				
			||||||
ulint	srv_test_n_loops	= ULINT_MAX;
 | 
					 | 
				
			||||||
ulint	srv_test_n_free_rnds	= ULINT_MAX;
 | 
					 | 
				
			||||||
ulint	srv_test_n_reserved_rnds = ULINT_MAX;
 | 
					 | 
				
			||||||
ulint	srv_test_array_size	= ULINT_MAX;
 | 
					 | 
				
			||||||
ulint	srv_test_n_mutexes	= ULINT_MAX;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* Array of English strings describing the current state of an
 | 
					/* Array of English strings describing the current state of an
 | 
				
			||||||
i/o handler thread */
 | 
					i/o handler thread */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -911,10 +887,6 @@ srv_init(void)
 | 
				
			|||||||
		srv_meter_foreground[i] = 250;
 | 
							srv_meter_foreground[i] = 250;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	srv_sys->operational = os_event_create(NULL);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	ut_a(srv_sys->operational);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	UT_LIST_INIT(srv_sys->tasks);
 | 
						UT_LIST_INIT(srv_sys->tasks);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* create dummy table and index for old-style infimum and supremum */
 | 
						/* create dummy table and index for old-style infimum and supremum */
 | 
				
			||||||
@@ -1847,11 +1819,7 @@ srv_export_innodb_status(void)
 | 
				
			|||||||
A thread which wakes up threads whose lock wait may have lasted too long.
 | 
					A thread which wakes up threads whose lock wait may have lasted too long.
 | 
				
			||||||
This also prints the info output by various InnoDB monitors. */
 | 
					This also prints the info output by various InnoDB monitors. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef __WIN__
 | 
					os_thread_ret_t
 | 
				
			||||||
void*
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
ulint
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
srv_lock_timeout_and_monitor_thread(
 | 
					srv_lock_timeout_and_monitor_thread(
 | 
				
			||||||
/*================================*/
 | 
					/*================================*/
 | 
				
			||||||
			/* out: a dummy parameter */
 | 
								/* out: a dummy parameter */
 | 
				
			||||||
@@ -2023,22 +1991,15 @@ exit_func:
 | 
				
			|||||||
	thread should always use that to exit and not use return() to exit. */
 | 
						thread should always use that to exit and not use return() to exit. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	os_thread_exit(NULL);
 | 
						os_thread_exit(NULL);
 | 
				
			||||||
#ifndef __WIN__
 | 
					
 | 
				
			||||||
	return(NULL);
 | 
						OS_THREAD_DUMMY_RETURN;
 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
	return(0);
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*************************************************************************
 | 
					/*************************************************************************
 | 
				
			||||||
A thread which prints warnings about semaphore waits which have lasted
 | 
					A thread which prints warnings about semaphore waits which have lasted
 | 
				
			||||||
too long. These can be used to track bugs which cause hangs. */
 | 
					too long. These can be used to track bugs which cause hangs. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef __WIN__
 | 
					os_thread_ret_t
 | 
				
			||||||
void*
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
ulint
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
srv_error_monitor_thread(
 | 
					srv_error_monitor_thread(
 | 
				
			||||||
/*=====================*/
 | 
					/*=====================*/
 | 
				
			||||||
			/* out: a dummy parameter */
 | 
								/* out: a dummy parameter */
 | 
				
			||||||
@@ -2120,11 +2081,7 @@ loop:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	os_thread_exit(NULL);
 | 
						os_thread_exit(NULL);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef __WIN__
 | 
						OS_THREAD_DUMMY_RETURN;
 | 
				
			||||||
	return(NULL);
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
	return(0);
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/***********************************************************************
 | 
					/***********************************************************************
 | 
				
			||||||
@@ -2169,11 +2126,7 @@ srv_wake_master_thread(void)
 | 
				
			|||||||
/*************************************************************************
 | 
					/*************************************************************************
 | 
				
			||||||
The master thread controlling the server. */
 | 
					The master thread controlling the server. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef __WIN__
 | 
					os_thread_ret_t
 | 
				
			||||||
void*
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
ulint
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
srv_master_thread(
 | 
					srv_master_thread(
 | 
				
			||||||
/*==============*/
 | 
					/*==============*/
 | 
				
			||||||
			/* out: a dummy parameter */
 | 
								/* out: a dummy parameter */
 | 
				
			||||||
@@ -2212,7 +2165,6 @@ srv_master_thread(
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	mutex_exit(&kernel_mutex);
 | 
						mutex_exit(&kernel_mutex);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	os_event_set(srv_sys->operational);
 | 
					 | 
				
			||||||
loop:
 | 
					loop:
 | 
				
			||||||
	/*****************************************************************/
 | 
						/*****************************************************************/
 | 
				
			||||||
	/* ---- When there is database activity by users, we cycle in this
 | 
						/* ---- When there is database activity by users, we cycle in this
 | 
				
			||||||
@@ -2619,10 +2571,6 @@ suspend_thread:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	os_thread_exit(NULL);
 | 
						os_thread_exit(NULL);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef __WIN__
 | 
						OS_THREAD_DUMMY_RETURN;
 | 
				
			||||||
	return(NULL);				/* Not reached */
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
	return(0);
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
#endif /* !UNIV_HOTBACKUP */
 | 
					#endif /* !UNIV_HOTBACKUP */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -426,11 +426,7 @@ srv_parse_log_group_home_dirs(
 | 
				
			|||||||
I/o-handler thread function. */
 | 
					I/o-handler thread function. */
 | 
				
			||||||
static
 | 
					static
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef __WIN__
 | 
					os_thread_ret_t
 | 
				
			||||||
void*
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
ulint
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
io_handler_thread(
 | 
					io_handler_thread(
 | 
				
			||||||
/*==============*/
 | 
					/*==============*/
 | 
				
			||||||
	void*	arg)
 | 
						void*	arg)
 | 
				
			||||||
@@ -459,11 +455,7 @@ io_handler_thread(
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	os_thread_exit(NULL);
 | 
						os_thread_exit(NULL);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef __WIN__
 | 
						OS_THREAD_DUMMY_RETURN;
 | 
				
			||||||
	return(NULL);				/* Not reached */
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
	return(0);
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
#endif /* !UNIV_HOTBACKUP */
 | 
					#endif /* !UNIV_HOTBACKUP */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1540,11 +1532,6 @@ NetWare. */
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
#endif /* UNIV_LOG_ARCHIVE */
 | 
					#endif /* UNIV_LOG_ARCHIVE */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (srv_measure_contention) {
 | 
					 | 
				
			||||||
		/* os_thread_create(&test_measure_cont, NULL, thread_ids +
 | 
					 | 
				
			||||||
		   SRV_MAX_N_IO_THREADS); */
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	/* fprintf(stderr, "Max allowed record size %lu\n",
 | 
						/* fprintf(stderr, "Max allowed record size %lu\n",
 | 
				
			||||||
				page_get_free_space_of_empty() / 2); */
 | 
									page_get_free_space_of_empty() / 2); */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -391,11 +391,7 @@ transaction already was committed, then we clean up a possible insert
 | 
				
			|||||||
undo log. If the transaction was not yet committed, then we roll it back.
 | 
					undo log. If the transaction was not yet committed, then we roll it back.
 | 
				
			||||||
Note: this is done in a background thread. */
 | 
					Note: this is done in a background thread. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef __WIN__
 | 
					os_thread_ret_t
 | 
				
			||||||
void*
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
ulint
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
trx_rollback_or_clean_all_without_sess(
 | 
					trx_rollback_or_clean_all_without_sess(
 | 
				
			||||||
/*===================================*/
 | 
					/*===================================*/
 | 
				
			||||||
			/* out: a dummy parameter */
 | 
								/* out: a dummy parameter */
 | 
				
			||||||
@@ -576,13 +572,7 @@ leave_function:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	os_thread_exit(NULL);
 | 
						os_thread_exit(NULL);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* The following is dummy code to keep the compiler happy: */
 | 
						OS_THREAD_DUMMY_RETURN;
 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifndef __WIN__
 | 
					 | 
				
			||||||
	return(NULL);
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
	return(0);
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/***********************************************************************
 | 
					/***********************************************************************
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user