Commit 90e41fac authored by unknown's avatar unknown
Browse files

Review fixes:

Fixed portability problem with bool in C programs
Moved close_thread_tables out from LOCK_thread_count mutex (safety fix)
my_sleep() -> pthread_cond_timedwait()


include/thr_lock.h:
  bool -> my_bool (bool is not portable in C programs)
mysys/thr_lock.c:
  bool -> my_bool (bool is not portable in C programs)
sql/lock.cc:
  Added comment
  Don't use | on bool variable
sql/mysql_priv.h:
  Added comment
sql/slave.cc:
  Moved close_thread_tables out from LOCK_thread_count mutex (safety fix)
sql/sql_base.cc:
  Added comments
  my_sleep() -> pthread_cond_timedwait() to get less code and potentitally faster loop
BitKeeper/etc/ignore:
  added ac_available_languages_fragment
parent 1f36f6f4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -546,3 +546,4 @@ vio/viotest-ssl
scripts/make_win_binary_distribution
EXCEPTIONS-CLIENT
support-files/my-innodb-heavy-4G.cnf
ac_available_languages_fragment
+1 −1
Original line number Diff line number Diff line
@@ -107,7 +107,7 @@ void thr_unlock(THR_LOCK_DATA *data);
int thr_multi_lock(THR_LOCK_DATA **data,uint count);
void thr_multi_unlock(THR_LOCK_DATA **data,uint count);
void thr_abort_locks(THR_LOCK *lock);
bool thr_abort_locks_for_thread(THR_LOCK *lock, pthread_t thread);
my_bool thr_abort_locks_for_thread(THR_LOCK *lock, pthread_t thread);
void thr_print_locks(void);		/* For debugging */
my_bool thr_upgrade_write_delay_lock(THR_LOCK_DATA *data);
my_bool thr_reschedule_write_lock(THR_LOCK_DATA *data);
+2 −2
Original line number Diff line number Diff line
@@ -966,10 +966,10 @@ void thr_abort_locks(THR_LOCK *lock)
  This is used to abort all locks for a specific thread
*/

bool thr_abort_locks_for_thread(THR_LOCK *lock, pthread_t thread)
my_bool thr_abort_locks_for_thread(THR_LOCK *lock, pthread_t thread)
{
  THR_LOCK_DATA *data;
  bool found= FALSE;
  my_bool found= FALSE;
  DBUG_ENTER("thr_abort_locks_for_thread");

  pthread_mutex_lock(&lock->mutex);
+15 −5
Original line number Diff line number Diff line
@@ -331,7 +331,18 @@ void mysql_lock_abort(THD *thd, TABLE *table)
}


/* Abort one thread / table combination */
/*
  Abort one thread / table combination

  SYNOPSIS
    mysql_lock_abort_for_thread()
    thd		Thread handler
    table	Table that should be removed from lock queue

  RETURN
    0  Table was not locked by another thread
    1  Table was locked by at least one other thread
*/

bool mysql_lock_abort_for_thread(THD *thd, TABLE *table)
{
@@ -344,10 +355,9 @@ bool mysql_lock_abort_for_thread(THD *thd, TABLE *table)
  {
    for (uint i=0; i < locked->lock_count; i++)
    {
      bool found;
      found= thr_abort_locks_for_thread(locked->locks[i]->lock,
	         			 table->in_use->real_id);
      result|= found;
      if (thr_abort_locks_for_thread(locked->locks[i]->lock,
                                     table->in_use->real_id))
        result= TRUE;
    }
    my_free((gptr) locked,MYF(0));
  }
+3 −0
Original line number Diff line number Diff line
@@ -606,12 +606,15 @@ bool rename_temporary_table(THD* thd, TABLE *table, const char *new_db,
			    const char *table_name);
void remove_db_from_cache(const my_string db);
void flush_tables();

/* bits for last argument to remove_table_from_cache() */
#define RTFC_NO_FLAG                0x0000
#define RTFC_OWNED_BY_THD_FLAG      0x0001
#define RTFC_WAIT_OTHER_THREAD_FLAG 0x0002
#define RTFC_CHECK_KILLED_FLAG      0x0004
bool remove_table_from_cache(THD *thd, const char *db, const char *table,
                             uint flags);

bool close_cached_tables(THD *thd, bool wait_for_refresh, TABLE_LIST *tables);
void copy_field_from_tmp_record(Field *field,int offset);
int fill_record(List<Item> &fields,List<Item> &values, bool ignore_errors);
Loading