diff options
author | unknown <malff/marcsql@weblab.(none)> | 2007-02-28 18:14:56 -0700 |
---|---|---|
committer | unknown <malff/marcsql@weblab.(none)> | 2007-02-28 18:14:56 -0700 |
commit | ee950898e3aa6b188f8f8d8e490b75bab1213ec3 (patch) | |
tree | 5d5413ca065b58fc27c6a73c2eaf337f527295be /include | |
parent | 5c58738ad100a24266f561c9feb25ff00e1a34e0 (diff) | |
parent | 793a137ddd737cd98d8d33efe54bcc218fd60c3f (diff) | |
download | mariadb-git-ee950898e3aa6b188f8f8d8e490b75bab1213ec3.tar.gz |
Merge weblab.(none):/home/marcsql/TREE/mysql-5.1-base
into weblab.(none):/home/marcsql/TREE/mysql-5.1-rt-merge
include/my_pthread.h:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/partition_innodb.result:
Auto merged
mysql-test/t/disabled.def:
Auto merged
server-tools/instance-manager/IMService.cpp:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster_binlog.cc:
Auto merged
sql/ha_partition.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_subselect.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
Diffstat (limited to 'include')
-rw-r--r-- | include/config-win.h | 3 | ||||
-rw-r--r-- | include/my_base.h | 1 | ||||
-rw-r--r-- | include/my_dbug.h | 4 | ||||
-rw-r--r-- | include/my_global.h | 27 | ||||
-rw-r--r-- | include/my_global.h.rej | 17 | ||||
-rw-r--r-- | include/my_pthread.h | 9 | ||||
-rw-r--r-- | include/my_pthread.h.rej | 80 | ||||
-rw-r--r-- | include/mysql.h | 2 | ||||
-rw-r--r-- | include/thr_alarm.h | 3 | ||||
-rw-r--r-- | include/thr_lock.h | 4 |
10 files changed, 30 insertions, 120 deletions
diff --git a/include/config-win.h b/include/config-win.h index d8ae471266f..6735ae1aba1 100644 --- a/include/config-win.h +++ b/include/config-win.h @@ -27,7 +27,7 @@ functions */ #endif #include <sys/locking.h> -#include <windows.h> +#include <winsock2.h> #include <math.h> /* Because of rint() */ #include <fcntl.h> #include <io.h> @@ -350,6 +350,7 @@ inline double ulonglong2double(ulonglong value) #define HAVE_SETFILEPOINTER #define HAVE_VIO_READ_BUFF #define HAVE_STRNLEN +#define HAVE_WINSOCK2 #define strcasecmp stricmp #define strncasecmp strnicmp diff --git a/include/my_base.h b/include/my_base.h index 14e4e3afb44..26d513ba2a7 100644 --- a/include/my_base.h +++ b/include/my_base.h @@ -47,6 +47,7 @@ #define HA_OPEN_ABORT_IF_CRASHED 16 #define HA_OPEN_FOR_REPAIR 32 /* open even if crashed */ #define HA_OPEN_FROM_SQL_LAYER 64 +#define HA_OPEN_MMAP 128 /* open memory mapped */ /* The following is parameter to ha_rkey() how to use key */ diff --git a/include/my_dbug.h b/include/my_dbug.h index 4d86e3e27c6..0541cf00c29 100644 --- a/include/my_dbug.h +++ b/include/my_dbug.h @@ -80,6 +80,7 @@ extern FILE *_db_fp_(void); #define DBUG_ASSERT(A) assert(A) #define DBUG_EXPLAIN(buf,len) _db_explain_(0, (buf),(len)) #define DBUG_EXPLAIN_INITIAL(buf,len) _db_explain_init_((buf),(len)) +#define IF_DBUG(A) A #else /* No debugger */ #define DBUG_ENTER(a1) @@ -95,7 +96,7 @@ extern FILE *_db_fp_(void); #define DBUG_SET(a1) #define DBUG_SET_INITIAL(a1) #define DBUG_POP() -#define DBUG_PROCESS(a1) (a1) +#define DBUG_PROCESS(a1) #define DBUG_SETJMP(a1) setjmp(a1) #define DBUG_LONGJMP(a1) longjmp(a1) #define DBUG_DUMP(keyword,a1,a2) @@ -106,6 +107,7 @@ extern FILE *_db_fp_(void); #define DBUG_UNLOCK_FILE #define DBUG_EXPLAIN(buf,len) #define DBUG_EXPLAIN_INITIAL(buf,len) +#define IF_DBUG(A) #endif #ifdef __cplusplus } diff --git a/include/my_global.h b/include/my_global.h index 98733711d24..e25752b8ed8 100644 --- a/include/my_global.h +++ b/include/my_global.h @@ -932,7 +932,6 @@ typedef unsigned long long my_size_t; #define my_offsetof(TYPE, MEMBER) \ ((size_t)((char *)&(((TYPE *)0x10)->MEMBER) - (char*)0x10)) - #define NullS (char *) 0 /* Nowdays we do not support MessyDos */ #ifndef NEAR @@ -1171,7 +1170,7 @@ typedef char bool; /* Ordinary boolean values 0 1 */ */ #define uint3korr(A) (long) (*((unsigned int *) (A)) & 0xFFFFFF) #endif -#define uint4korr(A) (*((unsigned long *) (A))) +#define uint4korr(A) (*((uint32 *) (A))) #define uint5korr(A) ((ulonglong)(((uint32) ((uchar) (A)[0])) +\ (((uint32) ((uchar) (A)[1])) << 8) +\ (((uint32) ((uchar) (A)[2])) << 16) +\ @@ -1285,17 +1284,19 @@ do { doubleget_union _tmp; \ *(((char *)(T))+1)=(char) (((A) >> 8));\ *(((char *)(T))+2)=(char) (((A) >> 16));\ *(((char *)(T))+3)=(char) (((A) >> 24)); } while(0) -#define int5store(T,A) do { *((char *)(T))=((A));\ - *(((char *)(T))+1)=(((A) >> 8));\ - *(((char *)(T))+2)=(((A) >> 16));\ - *(((char *)(T))+3)=(((A) >> 24)); \ - *(((char *)(T))+4)=(((A) >> 32)); } while(0) -#define int6store(T,A) do { *((char *)(T))=((A));\ - *(((char *)(T))+1)=(((A) >> 8)); \ - *(((char *)(T))+2)=(((A) >> 16)); \ - *(((char *)(T))+3)=(((A) >> 24)); \ - *(((char *)(T))+4)=(((A) >> 32)); \ - *(((char *)(T))+5)=(((A) >> 40)); } while(0) +#define int5store(T,A) do { *((char *)(T))= (char)((A)); \ + *(((char *)(T))+1)= (char)(((A) >> 8)); \ + *(((char *)(T))+2)= (char)(((A) >> 16)); \ + *(((char *)(T))+3)= (char)(((A) >> 24)); \ + *(((char *)(T))+4)= (char)(((A) >> 32)); \ + } while(0) +#define int6store(T,A) do { *((char *)(T))= (char)((A)); \ + *(((char *)(T))+1)= (char)(((A) >> 8)); \ + *(((char *)(T))+2)= (char)(((A) >> 16)); \ + *(((char *)(T))+3)= (char)(((A) >> 24)); \ + *(((char *)(T))+4)= (char)(((A) >> 32)); \ + *(((char *)(T))+5)= (char)(((A) >> 40)); \ + } while(0) #define int8store(T,A) do { uint def_temp= (uint) (A), def_temp2= (uint) ((A) >> 32); \ int4store((T),def_temp); \ int4store((T+4),def_temp2); } while(0) diff --git a/include/my_global.h.rej b/include/my_global.h.rej deleted file mode 100644 index f2953d169e7..00000000000 --- a/include/my_global.h.rej +++ /dev/null @@ -1,17 +0,0 @@ -*************** -*** 97,103 **** - - - /* Fix problem with S_ISLNK() on Linux */ -! #if defined(HAVE_LINUXTHREADS) - #undef _GNU_SOURCE - #define _GNU_SOURCE 1 - #endif ---- 97,103 ---- - - - /* Fix problem with S_ISLNK() on Linux */ -! #if defined(TARGET_OS_LINUX) || defined(__GLIBC__) - #undef _GNU_SOURCE - #define _GNU_SOURCE 1 - #endif diff --git a/include/my_pthread.h b/include/my_pthread.h index 725a4fbc071..4df105e1b20 100644 --- a/include/my_pthread.h +++ b/include/my_pthread.h @@ -18,7 +18,6 @@ #ifndef _my_pthread_h #define _my_pthread_h -#include <errno.h> #ifndef ETIME #define ETIME ETIMEDOUT /* For FreeBSD */ #endif @@ -85,6 +84,7 @@ typedef struct { typedef int pthread_mutexattr_t; #define win_pthread_self my_thread_var->pthread_self +#define pthread_self() win_pthread_self #define pthread_handler_t EXTERNC void * __cdecl typedef void * (__cdecl *pthread_handler)(void *); @@ -140,7 +140,6 @@ void pthread_exit(void *a); /* was #define pthread_exit(A) ExitThread(A)*/ #define ETIMEDOUT 145 /* Win32 doesn't have this */ #define getpid() GetCurrentThreadId() -#define pthread_self() win_pthread_self #define HAVE_LOCALTIME_R 1 #define _REENTRANT 1 #define HAVE_PTHREAD_ATTR_SETSTACKSIZE 1 @@ -648,12 +647,14 @@ extern pthread_mutexattr_t my_errorcheck_mutexattr; #define MY_MUTEX_INIT_ERRCHK NULL #endif +typedef ulong my_thread_id; + extern my_bool my_thread_global_init(void); extern void my_thread_global_end(void); extern my_bool my_thread_init(void); extern void my_thread_end(void); extern const char *my_thread_name(void); -extern long my_thread_id(void); +extern my_thread_id my_thread_dbug_id(void); extern int pthread_no_free(void *); extern int pthread_dummy(int); @@ -680,7 +681,7 @@ struct st_my_thread_var pthread_mutex_t * volatile current_mutex; pthread_cond_t * volatile current_cond; pthread_t pthread_self; - long id; + my_thread_id id; int cmp_length; int volatile abort; my_bool init; diff --git a/include/my_pthread.h.rej b/include/my_pthread.h.rej deleted file mode 100644 index 1f73655b0bd..00000000000 --- a/include/my_pthread.h.rej +++ /dev/null @@ -1,80 +0,0 @@ -*************** -*** 286,293 **** - #undef HAVE_PTHREAD_RWLOCK_RDLOCK - #undef HAVE_SNPRINTF - -! #define sigset(A,B) pthread_signal((A),(void (*)(int)) (B)) -! #define signal(A,B) pthread_signal((A),(void (*)(int)) (B)) - #define my_pthread_attr_setprio(A,B) - #endif /* defined(PTHREAD_SCOPE_GLOBAL) && !defined(PTHREAD_SCOPE_SYSTEM) */ - ---- 294,301 ---- - #undef HAVE_PTHREAD_RWLOCK_RDLOCK - #undef HAVE_SNPRINTF - -! #define my_sigset(A,B) pthread_signal((A),(void (*)(int)) (B)) -! #define my_signal(A,B) pthread_signal((A),(void (*)(int)) (B)) - #define my_pthread_attr_setprio(A,B) - #endif /* defined(PTHREAD_SCOPE_GLOBAL) && !defined(PTHREAD_SCOPE_SYSTEM) */ - -*************** -*** 324,337 **** - #if !defined(HAVE_SIGWAIT) && !defined(HAVE_mit_thread) && !defined(HAVE_rts_threads) && !defined(sigwait) && !defined(alpha_linux_port) && !defined(HAVE_NONPOSIX_SIGWAIT) && !defined(HAVE_DEC_3_2_THREADS) && !defined(_AIX) - int sigwait(sigset_t *setp, int *sigp); /* Use our implemention */ - #endif -! #if !defined(HAVE_SIGSET) && !defined(HAVE_mit_thread) && !defined(sigset) -! #define sigset(A,B) do { struct sigaction s; sigset_t set; \ -! sigemptyset(&set); \ -! s.sa_handler = (B); \ -! s.sa_mask = set; \ -! s.sa_flags = 0; \ -! sigaction((A), &s, (struct sigaction *) NULL); \ - } while (0) - #endif - - #ifndef my_pthread_setprio ---- 332,358 ---- - #if !defined(HAVE_SIGWAIT) && !defined(HAVE_mit_thread) && !defined(HAVE_rts_threads) && !defined(sigwait) && !defined(alpha_linux_port) && !defined(HAVE_NONPOSIX_SIGWAIT) && !defined(HAVE_DEC_3_2_THREADS) && !defined(_AIX) - int sigwait(sigset_t *setp, int *sigp); /* Use our implemention */ - #endif -! -! /* -! We define my_sigset() and use that instead of the system sigset() so that -! we can favor an implementation based on sigaction(). On some systems, such -! as Mac OS X, sigset() results in flags such as SA_RESTART being set, and -! we want to make sure that no such flags are set. -! */ -! #if defined(HAVE_SIGACTION) && !defined(my_sigset) -! #define my_sigset(A,B) do { struct sigaction s; sigset_t set; int rc; \ -! DBUG_ASSERT((A) != 0); \ -! sigemptyset(&set); \ -! s.sa_handler = (B); \ -! s.sa_mask = set; \ -! s.sa_flags = 0; \ -! rc= sigaction((A), &s, (struct sigaction *) NULL); \ -! DBUG_ASSERT(rc == 0); \ - } while (0) -+ #elif defined(HAVE_SIGSET) && !defined(my_sigset) -+ #define my_sigset(A,B) sigset((A),(B)) -+ #elif !defined(my_sigset) -+ #define my_sigset(A,B) signal((A),(B)) - #endif - - #ifndef my_pthread_setprio -*************** -*** 416,422 **** - #undef pthread_detach_this_thread - #define pthread_detach_this_thread() { pthread_t tmp=pthread_self() ; pthread_detach(tmp); } - #undef sigset -! #define sigset(A,B) pthread_signal((A),(void (*)(int)) (B)) - #endif - - #if ((defined(HAVE_PTHREAD_ATTR_CREATE) && !defined(HAVE_SIGWAIT)) || defined(HAVE_DEC_3_2_THREADS)) && !defined(HAVE_CTHREADS_WRAPPER) ---- 437,443 ---- - #undef pthread_detach_this_thread - #define pthread_detach_this_thread() { pthread_t tmp=pthread_self() ; pthread_detach(tmp); } - #undef sigset -! #define my_sigset(A,B) pthread_signal((A),(void (*)(int)) (B)) - #endif - - #if ((defined(HAVE_PTHREAD_ATTR_CREATE) && !defined(HAVE_SIGWAIT)) || defined(HAVE_DEC_3_2_THREADS)) && !defined(HAVE_CTHREADS_WRAPPER) diff --git a/include/mysql.h b/include/mysql.h index aa54a62dca4..f76ae10ca16 100644 --- a/include/mysql.h +++ b/include/mysql.h @@ -42,7 +42,7 @@ extern "C" { #ifndef _global_h /* If not standard header */ #include <sys/types.h> #ifdef __LCC__ -#include <winsock.h> /* For windows */ +#include <winsock2.h> /* For windows */ #endif typedef char my_bool; #if (defined(_WIN32) || defined(_WIN64)) && !defined(__WIN__) diff --git a/include/thr_alarm.h b/include/thr_alarm.h index 90f785c022f..14dd538c9e4 100644 --- a/include/thr_alarm.h +++ b/include/thr_alarm.h @@ -86,6 +86,7 @@ typedef struct st_alarm { ulong expire_time; thr_alarm_entry alarmed; /* set when alarm is due */ pthread_t thread; + my_thread_id thread_id; my_bool malloced; } ALARM; @@ -94,7 +95,7 @@ typedef struct st_alarm { void init_thr_alarm(uint max_alarm); void resize_thr_alarm(uint max_alarms); my_bool thr_alarm(thr_alarm_t *alarmed, uint sec, ALARM *buff); -void thr_alarm_kill(pthread_t thread_id); +void thr_alarm_kill(my_thread_id thread_id); void thr_end_alarm(thr_alarm_t *alarmed); void end_thr_alarm(my_bool free_structures); sig_handler process_alarm(int); diff --git a/include/thr_lock.h b/include/thr_lock.h index 99bb7545006..9bd7c22aa92 100644 --- a/include/thr_lock.h +++ b/include/thr_lock.h @@ -78,7 +78,7 @@ extern enum thr_lock_type thr_upgraded_concurrent_insert_lock; typedef struct st_thr_lock_info { pthread_t thread; - ulong thread_id; + my_thread_id thread_id; ulong n_cursors; } THR_LOCK_INFO; @@ -144,7 +144,7 @@ enum enum_thr_lock_result thr_multi_lock(THR_LOCK_DATA **data, uint count, THR_LOCK_OWNER *owner); void thr_multi_unlock(THR_LOCK_DATA **data,uint count); void thr_abort_locks(THR_LOCK *lock, bool upgrade_lock); -my_bool thr_abort_locks_for_thread(THR_LOCK *lock, pthread_t thread); +my_bool thr_abort_locks_for_thread(THR_LOCK *lock, my_thread_id thread); void thr_print_locks(void); /* For debugging */ my_bool thr_upgrade_write_delay_lock(THR_LOCK_DATA *data); void thr_downgrade_write_lock(THR_LOCK_DATA *data, |