summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorunknown <malff/marcsql@weblab.(none)>2007-02-28 18:14:56 -0700
committerunknown <malff/marcsql@weblab.(none)>2007-02-28 18:14:56 -0700
commitee950898e3aa6b188f8f8d8e490b75bab1213ec3 (patch)
tree5d5413ca065b58fc27c6a73c2eaf337f527295be /include
parent5c58738ad100a24266f561c9feb25ff00e1a34e0 (diff)
parent793a137ddd737cd98d8d33efe54bcc218fd60c3f (diff)
downloadmariadb-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.h3
-rw-r--r--include/my_base.h1
-rw-r--r--include/my_dbug.h4
-rw-r--r--include/my_global.h27
-rw-r--r--include/my_global.h.rej17
-rw-r--r--include/my_pthread.h9
-rw-r--r--include/my_pthread.h.rej80
-rw-r--r--include/mysql.h2
-rw-r--r--include/thr_alarm.h3
-rw-r--r--include/thr_lock.h4
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,