diff options
author | unknown <monty@donna.mysql.com> | 2000-11-28 04:47:47 +0200 |
---|---|---|
committer | unknown <monty@donna.mysql.com> | 2000-11-28 04:47:47 +0200 |
commit | 746f0b3b762f2a9d31347dfddf4b07a1621fc15b (patch) | |
tree | e3d40dd7c6a7e86bd2388da19d59d5a372bf7bb8 /include | |
parent | 2700d28319bf29ee3957a357eaa102bcc72e1ac4 (diff) | |
download | mariadb-git-746f0b3b762f2a9d31347dfddf4b07a1621fc15b.tar.gz |
New thr_alarm struct for better integration with OS2
Run bootstrap in separate thread
Fix bug in FLUSH TABLES table_name
Docs/manual.texi:
Updated ChangeLog
client/mysql.cc:
Added info about compressed protocol
include/getopt.h:
Fix for OS2
include/global.h:
Fix for OS2
include/my_sys.h:
Fix for OS2
include/mysql_com.h:
Fix for OS2
include/thr_alarm.h:
Cleanup up alarm struct for OS2 port
isam/isamchk.c:
Fix for OS2
libmysql/libmysql.c:
cleanup
libmysql/net.c:
Use new thr_alarm
libmysql/violite.c:
Fix for OS2
myisam/ChangeLog:
Changes
myisam/mi_create.c:
Use less stack
myisam/myisamchk.c:
Fix for OS2
mysys/default.c:
Fix for OS2
mysys/getopt.c:
Fix for OS2
mysys/mf_format.c:
Safety
mysys/mf_path.c:
Fix for OS2
mysys/my_create.c:
Fix for OS2
mysys/my_lock.c:
Fix for OS2
mysys/my_open.c:
Fix for OS2
mysys/thr_alarm.c:
Use new thr_alarm struct
readline/input.c:
Fix for OS2
readline/rltty.c:
Fix for OS2
sql/ha_myisam.cc:
Remove unnecessary fn_format
sql/my_lock.c:
Use new thr_alarm
sql/mysql_priv.h:
Changed bootstrap to run in separate thread to avoid problem with
small stack
sql/mysqld.cc:
Changed bootstrap to run in separate thread to avoid problem with
small stack
sql/net_serv.cc:
Use new thr_alarm
sql/sql_base.cc:
Fix problem with FLUSH TABLE table_name
sql/sql_class.cc:
Fix for new bootstrap
sql/sql_class.h:
cleanup
sql/sql_delete.cc:
cleanup
sql/sql_load.cc:
Fix for OS2
sql/sql_parse.cc:
Changed bootstrap to run in separate thread to avoid problem with
small stack
sql/sql_select.cc:
Reset used structure elements
sql/sql_table.cc:
For OS2
sql/violite.c:
For OS2
Diffstat (limited to 'include')
-rw-r--r-- | include/getopt.h | 4 | ||||
-rw-r--r-- | include/global.h | 12 | ||||
-rw-r--r-- | include/my_sys.h | 7 | ||||
-rw-r--r-- | include/mysql_com.h | 5 | ||||
-rw-r--r-- | include/thr_alarm.h | 76 |
5 files changed, 66 insertions, 38 deletions
diff --git a/include/getopt.h b/include/getopt.h index eb29226b1dc..790915b97df 100644 --- a/include/getopt.h +++ b/include/getopt.h @@ -99,7 +99,9 @@ struct option #define optional_argument 2 #if ( defined (__STDC__) && __STDC__ ) || defined(__cplusplus) || defined(MSDOS) -#ifdef __GNU_LIBRARY__ +#ifdef __EMX__ +int getopt (int, char **, __const__ char *); +#elif defined( __GNU_LIBRARY__) /* Many other libraries have conflicting prototypes for getopt, with differences in the consts, in stdlib.h. To avoid compilation errors, only prototype getopt for the GNU C library. */ diff --git a/include/global.h b/include/global.h index 006a0173c34..fda0b3f0e54 100644 --- a/include/global.h +++ b/include/global.h @@ -21,6 +21,13 @@ #ifndef _global_h #define _global_h +#if defined( __EMX__) && !defined( MYSQL_SERVER) +// moved here to use below VOID macro redefinition +#define INCL_BASE +#define INCL_NOPMAPI +#include <os2.h> +#endif // __EMX__ + #if defined(_WIN32) || defined(_WIN64) || defined(__WIN32__) || defined(WIN32) #include <config-win.h> #else @@ -381,8 +388,13 @@ typedef SOCKET_SIZE_TYPE size_socket; #define FN_DEVCHAR ':' #ifndef FN_LIBCHAR +#ifdef __EMX__ +#define FN_LIBCHAR '\\' +#define FN_ROOTDIR "\\" +#else #define FN_LIBCHAR '/' #define FN_ROOTDIR "/" +#endif #define MY_NFILE 1024 /* This is only used to save filenames */ #endif diff --git a/include/my_sys.h b/include/my_sys.h index 98aab1062a2..aa465ba6d21 100644 --- a/include/my_sys.h +++ b/include/my_sys.h @@ -41,6 +41,13 @@ extern int NEAR my_errno; /* Last error in mysys */ #include <stdarg.h> +#ifdef __EMX__ +/* record loging flags (F_GETLK, F_SETLK, F_SETLKW) */ +#define F_RDLCK 1 /* FreeBSD: shared or read lock */ +#define F_UNLCK 2 /* FreeBSD: unlock */ +#define F_WRLCK 3 /* FreeBSD: exclusive or write lock */ +#endif + #define MYSYS_PROGRAM_USES_CURSES() { error_handler_hook = my_message_curses; mysys_uses_curses=1; } #define MYSYS_PROGRAM_DONT_USE_CURSES() { error_handler_hook = my_message_no_curses; mysys_uses_curses=0;} #define MY_INIT(name); { my_progname= name; my_init(); } diff --git a/include/mysql_com.h b/include/mysql_com.h index cc9f8de7597..f7052225dce 100644 --- a/include/mysql_com.h +++ b/include/mysql_com.h @@ -30,11 +30,6 @@ #define LOCAL_HOST "localhost" #define LOCAL_HOST_NAMEDPIPE "." -#if defined(__EMX__) || defined(__OS2__) -#undef MYSQL_UNIX_ADDR -#define MYSQL_OS2_ADDR "\\socket\\MySQL" -#define MYSQL_UNIX_ADDR MYSQL_OS2_ADDR -#endif #if defined(__WIN__) && !defined( _CUSTOMCONFIG_) #define MYSQL_NAMEDPIPE "MySQL" #define MYSQL_SERVICENAME "MySql" diff --git a/include/thr_alarm.h b/include/thr_alarm.h index 0c268c09f0e..da68b9fce07 100644 --- a/include/thr_alarm.h +++ b/include/thr_alarm.h @@ -23,13 +23,6 @@ extern "C" { #endif -typedef struct st_alarm { - ulong expire_time; - int alarmed; /* 1 when alarm is due */ - pthread_t thread; - my_bool malloced; -} ALARM; - #ifndef USE_ALARM_THREAD #define USE_ONE_SIGNAL_HAND /* One must call process_alarm */ #endif @@ -46,55 +39,74 @@ typedef struct st_alarm { #define THR_SERVER_ALARM SIGALRM #endif -#ifdef DONT_USE_THR_ALARM +#if defined(DONT_USE_THR_ALARM) #define USE_ALARM_THREAD #undef USE_ONE_SIGNAL_HAND -typedef struct st_win_timer +typedef struct st_thr_alarm_entry { uint crono; -} thr_alarm_t; +} thr_alarm_entry; #define thr_alarm_init(A) (A)->crono=0 -#define thr_alarm_in_use(A) (A).crono +#define thr_alarm_in_use(A) (A)->crono #define init_thr_alarm(A) #define thr_alarm_kill(A) #define end_thr_alarm() #define thr_alarm(A,B) (((A)->crono=1)-1) -#define thr_got_alarm(A) (A).crono +#define thr_got_alarm(A) (A)->crono #define thr_end_alarm(A) #else - -#ifdef __WIN__ -typedef struct st_win_timer +#if defined(__WIN__) +typedef struct st_thr_alarm_entry { rf_SetTimer crono; -} thr_alarm_t; +} thr_alarm_entry; -bool thr_got_alarm(thr_alarm_t *alrm); -#define thr_alarm_init(A) (A)->crono=0 -#define thr_alarm_in_use(A) (A)->crono -#define init_thr_alarm(A) -#define thr_alarm_kill(A) -#else +#elif defined(__EMX__) + +typedef struct st_thr_alarm_entry +{ + uint crono; + uint event; +} thr_alarm_entry; + +#else /* System with posix threads */ + +typedef int thr_alarm_entry; + +#define thr_got_alarm(thr_alarm) (**(thr_alarm)) -typedef int* thr_alarm_t; -#define thr_got_alarm(thr_alarm) (*thr_alarm) -#define thr_alarm_init(A) (*A)=0 -#define thr_alarm_in_use(A) ((A) != 0) -void init_thr_alarm(uint max_alarm); -void thr_alarm_kill(pthread_t thread_id); -sig_handler process_alarm(int); #endif /* __WIN__ */ -bool thr_alarm(thr_alarm_t *alarmed,uint sec, ALARM *buff); +typedef thr_alarm_entry* thr_alarm_t; + +typedef struct st_alarm { + ulong expire_time; + thr_alarm_entry alarmed; /* set when alarm is due */ + pthread_t thread; + my_bool malloced; +} ALARM; + +#define thr_alarm_init(A) (*(A))=0 +#define thr_alarm_in_use(A) (*(A)!= 0) +void init_thr_alarm(uint max_alarm); +bool thr_alarm(thr_alarm_t *alarmed, uint sec, ALARM *buff); +void thr_alarm_kill(pthread_t thread_id); void thr_end_alarm(thr_alarm_t *alarmed); void end_thr_alarm(void); +sig_handler process_alarm(int); +#ifndef thr_got_alarm +bool thr_got_alarm(thr_alarm_t *alrm); +#endif + + #endif /* DONT_USE_THR_ALARM */ #ifdef __cplusplus } -#endif -#endif +#endif /* __cplusplus */ +#endif /* _thr_alarm_h */ + |