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 /libmysql | |
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 'libmysql')
-rw-r--r-- | libmysql/libmysql.c | 4 | ||||
-rw-r--r-- | libmysql/net.c | 19 | ||||
-rw-r--r-- | libmysql/violite.c | 5 |
3 files changed, 13 insertions, 15 deletions
diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c index 37e656edb96..8f750affd5f 100644 --- a/libmysql/libmysql.c +++ b/libmysql/libmysql.c @@ -1465,8 +1465,8 @@ mysql_real_connect(MYSQL *mysql,const char *host, const char *user, if (db) client_flag|=CLIENT_CONNECT_WITH_DB; #ifdef HAVE_COMPRESS - if (mysql->server_capabilities & CLIENT_COMPRESS && - (mysql->options.compress || client_flag & CLIENT_COMPRESS)) + if ((mysql->server_capabilities & CLIENT_COMPRESS) && + (mysql->options.compress || (client_flag & CLIENT_COMPRESS))) client_flag|=CLIENT_COMPRESS; /* We will use compression */ else #endif diff --git a/libmysql/net.c b/libmysql/net.c index dac1fe0bd68..d8898facb26 100644 --- a/libmysql/net.c +++ b/libmysql/net.c @@ -71,7 +71,7 @@ extern ulong mysqld_net_retry_count; typedef my_bool thr_alarm_t; typedef my_bool ALARM; #define thr_alarm_init(A) (*A)=0 -#define thr_alarm_in_use(A) (A) +#define thr_alarm_in_use(A) (*(A)) #define thr_end_alarm(A) #define thr_alarm(A,B,C) local_thr_alarm((A),(B),(C)) static inline int local_thr_alarm(my_bool *A,int B __attribute__((unused)),ALARM *C __attribute__((unused))) @@ -330,7 +330,7 @@ net_real_write(NET *net,const char *packet,ulong len) { my_bool interrupted = vio_should_retry(net->vio); #if (!defined(__WIN__) && !defined(__EMX__)) - if ((interrupted || length==0) && !thr_alarm_in_use(alarmed)) + if ((interrupted || length==0) && !thr_alarm_in_use(&alarmed)) { if (!thr_alarm(&alarmed,(uint) net_write_timeout,&alarm_buff)) { /* Always true for client */ @@ -355,7 +355,7 @@ net_real_write(NET *net,const char *packet,ulong len) } else #endif /* (!defined(__WIN__) && !defined(__EMX__)) */ - if (thr_alarm_in_use(alarmed) && !thr_got_alarm(alarmed) && + if (thr_alarm_in_use(&alarmed) && !thr_got_alarm(&alarmed) && interrupted) { if (retry_count++ < RETRY_COUNT) @@ -389,7 +389,7 @@ net_real_write(NET *net,const char *packet,ulong len) if (net->compress) my_free((char*) packet,MYF(0)); #endif - if (thr_alarm_in_use(alarmed)) + if (thr_alarm_in_use(&alarmed)) { thr_end_alarm(&alarmed); vio_blocking(net->vio, net_blocking); @@ -412,10 +412,9 @@ net_real_write(NET *net,const char *packet,ulong len) static void my_net_skip_rest(NET *net, ulong remain, thr_alarm_t *alarmed) { - char buff[1024]; ALARM alarm_buff; uint retry_count=0; - if (!thr_alarm_in_use(alarmed)) + if (!thr_alarm_in_use(&alarmed)) { if (!thr_alarm(alarmed,net->timeout,&alarm_buff) || (!vio_is_blocking(net->vio) && vio_blocking(net->vio,TRUE) < 0)) @@ -427,7 +426,7 @@ static void my_net_skip_rest(NET *net, ulong remain, thr_alarm_t *alarmed) if ((int) (length=vio_read(net->vio,(char*) net->buff,remain)) <= 0L) { my_bool interrupted = vio_should_retry(net->vio); - if (!thr_got_alarm(alarmed) && interrupted) + if (!thr_got_alarm(&alarmed) && interrupted) { /* Probably in MIT threads */ if (retry_count++ < RETRY_COUNT) continue; @@ -482,7 +481,7 @@ my_real_read(NET *net, ulong *complen) an alarm to not 'read forever', change the socket to non blocking mode and try again */ - if ((interrupted || length == 0) && !thr_alarm_in_use(alarmed)) + if ((interrupted || length == 0) && !thr_alarm_in_use(&alarmed)) { if (!thr_alarm(&alarmed,net->timeout,&alarm_buff)) /* Don't wait too long */ { @@ -514,7 +513,7 @@ my_real_read(NET *net, ulong *complen) } } #endif /* (!defined(__WIN__) && !defined(__EMX__)) || defined(MYSQL_SERVER) */ - if (thr_alarm_in_use(alarmed) && !thr_got_alarm(alarmed) && + if (thr_alarm_in_use(&alarmed) && !thr_got_alarm(&alarmed) && interrupted) { /* Probably in MIT threads */ if (retry_count++ < RETRY_COUNT) @@ -598,7 +597,7 @@ my_real_read(NET *net, ulong *complen) } end: - if (thr_alarm_in_use(alarmed)) + if (thr_alarm_in_use(&alarmed)) { thr_end_alarm(&alarmed); vio_blocking(net->vio, net_blocking); diff --git a/libmysql/violite.c b/libmysql/violite.c index 4efda9f3b90..253ef7bb468 100644 --- a/libmysql/violite.c +++ b/libmysql/violite.c @@ -38,8 +38,7 @@ #if defined(__EMX__) #include <sys/ioctl.h> -#define ioctlsocket(A,B,C) ioctl((A),(B),(void *)(C),sizeof(*(C))) -#undef HAVE_FCNTL +#define ioctlsocket ioctl #endif /* defined(__EMX__) */ #if defined(MSDOS) || defined(__WIN__) @@ -111,7 +110,7 @@ Vio *vio_new(my_socket sd, enum enum_vio_type type, my_bool localhost) #else /* !defined(__WIN__) && !defined(__EMX__) */ { /* set to blocking mode by default */ - ulong arg=0; + ulong arg=0, r; r = ioctlsocket(vio->sd,FIONBIO,(void*) &arg, sizeof(arg)); } #endif |