Commit 558d88f9 authored by miguel@light.local's avatar miguel@light.local
Browse files

Win32 Embedded Server Changes

parent 1faca6fc
Loading
Loading
Loading
Loading
+93 −47
Original line number Diff line number Diff line
@@ -2,33 +2,95 @@ LIBRARY LIBMYSQL
DESCRIPTION	'MySQL 4.0 Client Library'
VERSION		4.0
EXPORTS

    mysql_num_rows
	mysql_num_fields
	mysql_affected_rows
	mysql_close
	mysql_connect
	mysql_create_db
	mysql_data_seek
	mysql_debug
	mysql_drop_db
	mysql_dump_debug_info
	mysql_eof
	mysql_errno
	mysql_error
	mysql_escape_string
	mysql_fetch_field
	mysql_fetch_field_direct
	mysql_fetch_fields
	mysql_row_tell
	mysql_field_tell
	mysql_fetch_lengths
	mysql_fetch_row
	mysql_field_count
	mysql_affected_rows
	mysql_insert_id
	mysql_errno
	mysql_error
	mysql_field_seek
	mysql_field_tell
	mysql_free_result
	mysql_get_client_info
	mysql_get_host_info
	mysql_get_proto_info
	mysql_get_server_info
	mysql_info
	mysql_thread_id
	mysql_character_set_name
	mysql_init
	mysql_ssl_set
	mysql_ssl_clear
	mysql_change_user
	mysql_insert_id
	mysql_kill
	mysql_list_dbs
	mysql_list_fields
	mysql_list_processes
	mysql_list_tables
	mysql_num_fields
	mysql_num_rows
	mysql_odbc_escape_string
	mysql_options
	mysql_ping
	mysql_query
	mysql_real_connect
	mysql_close
	mysql_real_query
	mysql_refresh
	mysql_row_seek
	mysql_row_tell
	mysql_select_db
	mysql_query
	mysql_shutdown
	mysql_stat
	mysql_store_result
	mysql_thread_id
	mysql_use_result
	bmove_upp
	delete_dynamic
	_dig_vec
	init_dynamic_array
	insert_dynamic
	int2str
	is_prefix
	list_add
	list_delete
	max_allowed_packet
	my_casecmp
	my_init
	my_end
	my_strdup
	my_malloc
	my_memdup
	my_no_flags_free
	my_realloc
	my_thread_end
	my_thread_init
	net_buffer_length
	set_dynamic
	strcend
	strdup_root
	strfill
	strinstr
	strmake
	strmov
	strxmov
	myodbc_remove_escape
	mysql_thread_safe
	mysql_character_set_name
	mysql_change_user
	mysql_send_query
	mysql_read_query_result
	mysql_real_query
	mysql_real_escape_string
	mysql_ssl_set
	mysql_ssl_clear
    mysql_real_connect
	mysql_master_query
	mysql_master_send_query
	mysql_slave_query
@@ -43,34 +105,18 @@ EXPORTS
	mysql_rpl_probe
	mysql_set_master
	mysql_add_slave
	mysql_shutdown
	mysql_dump_debug_info
	mysql_refresh
	mysql_kill
	mysql_ping
	mysql_stat
	mysql_get_server_info
	mysql_get_client_info
	mysql_get_host_info
	mysql_get_proto_info
	mysql_list_dbs
	mysql_list_tables
	mysql_list_fields
	mysql_list_processes
	mysql_store_result
	mysql_use_result
	mysql_options
	mysql_free_result
	mysql_data_seek
	mysql_row_seek
	mysql_field_seek
	mysql_fetch_row
	mysql_fetch_lengths
	mysql_fetch_field
	mysql_escape_string
	mysql_real_escape_string
	mysql_debug
	mysql_odbc_escape_string
	myodbc_remove_escape
	mysql_thread_safe

	
	
	
	
	
	

	





+5 −0
Original line number Diff line number Diff line
@@ -36,4 +36,9 @@ mysql_load(THD * thd, sql_exchange * ex, TABLE_LIST * table_list,

#define mysql_load mysql_load_internal


#if defined (__WIN__)
#include "../sql/sql_load.cpp"
#else
#include "../sql/sql_load.cc"
#endif
+6 −0
Original line number Diff line number Diff line
@@ -24,8 +24,10 @@
#define main main1
#define mysql_unix_port mysql_inix_port1
#define mysql_port mysql_port1
#if !defined(__WIN__)
#define net_read_timeout net_read_timeout1
#define net_write_timeout net_write_timeout1
#endif
#define changeable_vars changeable_vars1

extern "C"
@@ -45,7 +47,11 @@ static bool check_user(THD *thd, enum_server_command command,
void free_defaults_internal(char ** argv) {if (argv) free_defaults(argv);}
#define free_defaults free_defaults_internal

#if defined (__WIN__)
#include "../sql/mysqld.cpp"
#else
#include "../sql/mysqld.cc"
#endif

#define SCRAMBLE_LENGTH 8
C_MODE_START
+72 −0
Original line number Diff line number Diff line
LIBRARY		LIBMYSQLD
DESCRIPTION	'MySQL 4.0 Embedded Server Library'
VERSION		4.0
EXPORTS
	mysql_server_end
	mysql_server_init
	mysql_use_result
	mysql_thread_safe
	mysql_thread_id
	mysql_store_result
	mysql_stat
	mysql_shutdown
	mysql_select_db
	mysql_row_tell
	mysql_row_seek
	mysql_real_query
	mysql_real_connect
	mysql_query
	mysql_ping
	mysql_options
	mysql_num_rows
	mysql_num_fields
	mysql_list_tables
	mysql_list_processes
	mysql_list_fields
	mysql_list_dbs
	mysql_kill
	mysql_insert_id
	mysql_init
	mysql_info
	mysql_get_server_info
	mysql_get_proto_info
	mysql_get_host_info
	mysql_get_client_info
	mysql_free_result
	mysql_field_tell
	mysql_field_count
	mysql_field_seek
	mysql_fetch_row
	mysql_fetch_lengths
	mysql_fetch_fields
	mysql_fetch_field_direct
	mysql_fetch_field
	mysql_escape_string
	mysql_real_escape_string
	mysql_error
	mysql_errno
	mysql_eof
	mysql_dump_debug_info
	mysql_drop_db
	mysql_debug
	mysql_data_seek
	mysql_create_db
	mysql_character_set_name
	mysql_change_user
	mysql_connect
	mysql_close
	mysql_affected_rows
	mysql_thread_init
	mysql_thread_end
	mysql_send_query
	mysql_read_query_result
	mysql_refresh
	mysql_odbc_escape_string
	myodbc_remove_escape






+10 −3
Original line number Diff line number Diff line
@@ -380,10 +380,12 @@ enum db_type default_table_type=DB_TYPE_MYISAM;
#ifdef __WIN__
#undef	 getpid
#include <process.h>
#if !defined(EMBEDDED_LIBRARY)
HANDLE hEventShutdown;
#include "nt_servc.h"
static	 NTService  Service;	      // Service object for WinNT
#endif
#endif

#ifdef OS2
pthread_cond_t eventShutdown;
@@ -609,6 +611,7 @@ void kill_mysql(void)
#endif  

#if defined(__WIN__)
#if !defined(EMBEDDED_LIBRARY)
  {
    if (!SetEvent(hEventShutdown))
    {
@@ -621,6 +624,7 @@ void kill_mysql(void)
      CloseHandle(hEvent);
    */
  }
#endif
#elif defined(OS2)
  pthread_cond_signal( &eventShutdown);		// post semaphore
#elif defined(HAVE_PTHREAD_KILL)
@@ -1558,8 +1562,9 @@ pthread_handler_decl(handle_shutdown,arg)

  /* this call should create the message queue for this thread */
  PeekMessage(&msg, NULL, 1, 65534,PM_NOREMOVE);

#if !defined(EMBEDDED_LIBRARY)
  if (WaitForSingleObject(hEventShutdown,INFINITE)==WAIT_OBJECT_0)
#endif
     kill_server(MYSQL_KILL_SIGNAL);
  return 0;
}
@@ -1976,7 +1981,7 @@ The server will not act as a slave.");
    }
  }
  (void) thr_setconcurrency(concurrency);	// 10 by default
#ifdef __WIN__			        //IRENA
#if defined(__WIN__) && !defined(EMBEDDED_LIBRARY)	  //IRENA
  {
    hEventShutdown=CreateEvent(0, FALSE, FALSE, "MySqlShutdown");
    pthread_t hThread;
@@ -2084,6 +2089,7 @@ The server will not act as a slave.");
  sql_print_error("After lock_thread_count");
#endif
#else
#if !defined(EMBEDDED_LIBRARY)
  if (Service.IsNT())
  {
    if(start_mode)
@@ -2103,6 +2109,7 @@ The server will not act as a slave.");
    if(hEventShutdown) CloseHandle(hEventShutdown);
  }
#endif
#endif
#ifdef HAVE_OPENSSL
  my_free((gptr)ssl_acceptor_fd,MYF(MY_ALLOW_ZERO_PTR));
#endif /* HAVE_OPENSSL */
@@ -2123,7 +2130,7 @@ The server will not act as a slave.");
}


#ifdef __WIN__
#if defined(__WIN__) && !defined(EMBEDDED_LIBRARY)
/* ------------------------------------------------------------------------
   main and thread entry function for Win32
   (all this is needed only to run mysqld as a service on WinNT)
Loading