Added macros for nice TIMESPEC usage.

Fixes for building MySQL with gcc 3.0
Added SIGNED / UNSIGNED casts
Fixed core dump bug in net_clear() with libmysqld.
Back to using semaphores in query cache.
Added 'Null' and 'Index_type' to SHOW INDEX.


BUILD/FINISH.sh:
  Fixes for gcc 3.0
BUILD/SETUP.sh:
  Fixes for gcc 3.0
Docs/manual.texi:
  Changelog + SIGNED/UNSIGNED casts.
Makefile.am:
  include BUILD scripts in source distribution.
client/Makefile.am:
  Fixes for gcc 3.0
client/mysql.cc:
  Cleanup
client/mysqldump.c:
  Changed 'K' to mean 'disable-keys' instead of 'no-disabled-keys'
client/readline.cc:
  Cleanup
configure.in:
  Include BUILD in source distrbution
extra/my_print_defaults.c:
  Cleanup
include/my_global.h:
  Fix for HPUX and setrlimit.
  Portability fix.
  Added macros for nice TIMESPEC usage.
innobase/include/dyn0dyn.h:
  Fix for AIX
libmysql/Makefile.shared:
  Added strxmov to libmysqld
libmysqld/examples/Makefile.am:
  Fixes for gcc 3.0
libmysqld/lib_vio.c:
  Cleanup
myisam/ft_dump.c:
  Portability fixes
myisam/ftdefs.h:
  Portability fixes
mysql-test/r/bdb.result:
  Cleanup results after adding 2 columns to SHOW KEYS
mysql-test/r/bigint.result:
  New test for SIGNED/UNSIGNED
mysql-test/r/fulltext.result:
  Cleanup results after adding 2 columns to SHOW KEYS
mysql-test/r/heap.result:
  Cleanup results after adding 2 columns to SHOW KEYS
mysql-test/r/innodb.result:
  Cleanup results after adding 2 columns to SHOW KEYS
mysql-test/r/isam.result:
  Cleanup results after adding 2 columns to SHOW KEYS
mysql-test/r/key.result:
  Cleanup results after adding 2 columns to SHOW KEYS
mysql-test/r/myisam.result:
  Cleanup results after adding 2 columns to SHOW KEYS
mysql-test/r/query_cache.result:
  Cleanup results after adding 2 columns to SHOW KEYS
mysql-test/r/select.result:
  Cleanup results after adding 2 columns to SHOW KEYS
mysql-test/r/show_check.result:
  Cleanup results after adding 2 columns to SHOW KEYS
mysql-test/r/type_ranges.result:
  Cleanup results after adding 2 columns to SHOW KEYS
mysql-test/t/bigint.test:
  New test for SIGNED/UNSIGNED
mysql-test/t/key.test:
  New test for SIGNED/UNSIGNED
mysql-test/t/query_cache.test:
  Test for FOUND_ROWS()
sql-bench/crash-me.sh:
  Safety fixes
sql/derror.cc:
  Cleanup
sql/ha_berkeley.h:
  New test for SIGNED/UNSIGNED
sql/ha_heap.h:
  New test for SIGNED/UNSIGNED
sql/ha_innobase.cc:
  New test for SIGNED/UNSIGNED
sql/ha_innobase.h:
  New test for SIGNED/UNSIGNED
sql/ha_isam.h:
  New test for SIGNED/UNSIGNED
sql/ha_myisam.cc:
  New test for SIGNED/UNSIGNED
sql/ha_myisam.h:
  New test for SIGNED/UNSIGNED
sql/handler.h:
  New test for SIGNED/UNSIGNED
sql/item_func.cc:
  Cleanup TIMESPEC usage
sql/item_func.h:
  Added SIGNED / UNSIGNED casts
sql/lex.h:
  Added SIGNED / UNSIGNED casts
sql/mysqld.cc:
  Cleanup TIMESPEC usage
sql/net_pkg.cc:
  Cleanup
sql/net_serv.cc:
  Fixed core dump bug in net_clear()
sql/slave.cc:
  Cleanup
sql/sql_cache.cc:
  Back to using semaphores
sql/sql_cache.h:
  Back to using semaphores
sql/sql_insert.cc:
  Cleanup TIMESPEC usage
sql/sql_manager.cc:
  Cleanup TIMESPEC usage
sql/sql_parse.cc:
  Cleanup
sql/sql_repl.cc:
  Cleanup TIMESPEC usage
sql/sql_show.cc:
  Added 'Null' and 'Index_type' to SHOW INDEX.
sql/sql_table.cc:
  Sort keys in table in a more logical order.
sql/sql_yacc.yy:
  Support for SIGNED/UNSIGNED casts.
This commit is contained in:
unknown 2002-01-02 21:29:41 +02:00
commit f4fee3d90e
59 changed files with 678 additions and 364 deletions

View file

@ -607,25 +607,14 @@ int stop_slave(THD* thd, bool net_report )
// do not abort the slave in the middle of a query, so we do not set
// thd->killed for the slave thread
thd->proc_info = "waiting for slave to die";
while(slave_running)
while (slave_running)
{
/* there is a small chance that slave thread might miss the first
alarm. To protect againts it, resend the signal until it reacts
/*
There is a small chance that slave thread might miss the first
alarm. To protect againts it, resend the signal until it reacts
*/
struct timespec abstime;
#ifdef HAVE_TIMESPEC_TS_SEC
abstime.ts_sec=time(NULL)+2;
abstime.ts_nsec=0;
#elif defined(__WIN__)
abstime.tv_sec=time((time_t*) 0)+2;
abstime.tv_nsec=0;
#else
struct timeval tv;
gettimeofday(&tv,0);
abstime.tv_sec=tv.tv_sec+2;
abstime.tv_nsec=tv.tv_usec*1000;
#endif
set_timespec(abstime, 2);
pthread_cond_timedwait(&COND_slave_stopped, &LOCK_slave, &abstime);
if (slave_running)
KICK_SLAVE;
@ -659,8 +648,8 @@ void reset_slave()
pthread_mutex_lock(&LOCK_slave);
if ((slave_was_running = slave_running))
{
pthread_mutex_unlock(&LOCK_slave);
stop_slave(0,0);
pthread_mutex_unlock(&LOCK_slave);
stop_slave(0,0);
}
else
pthread_mutex_unlock(&LOCK_slave);