mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
Add macro for retrieving sec part of "struct timespec"
Use macros for working with "struct timespec" in event_queue.cc Fix merge problem include/my_pthread.h: Remove merge problem causing "struct timespec" to be declared twice Add macro "get_timespec_sec" used for retrieving the time in seconds sql/event_queue.cc: Use macros for working with "struct timespec" sql/log_event.cc: Add casts from "byte*" to "char*"
This commit is contained in:
@@ -56,11 +56,6 @@ typedef struct {
|
||||
} pthread_cond_t;
|
||||
|
||||
|
||||
struct timespec { /* For pthread_cond_timedwait() */
|
||||
time_t tv_sec;
|
||||
long tv_nsec;
|
||||
};
|
||||
|
||||
typedef int pthread_mutexattr_t;
|
||||
#define win_pthread_self my_thread_var->pthread_self
|
||||
#define pthread_handler_t EXTERNC void * __cdecl
|
||||
@@ -93,6 +88,7 @@ struct timespec {
|
||||
GetSystemTimeAsFileTime(&((ABSTIME).start.ft)); \
|
||||
(ABSTIME).timeout_msec= (long)((NSEC)/1000000); \
|
||||
}
|
||||
#define get_timespec_sec(ABSTIME) ((((ABSTIME).start.i64 / 10000) + (ABSTIME).timeout_msec ) / 1000)
|
||||
|
||||
void win_pthread_init(void);
|
||||
int win_pthread_setspecific(void *A,void *B,uint length);
|
||||
@@ -414,6 +410,9 @@ int my_pthread_mutex_trylock(pthread_mutex_t *mutex);
|
||||
(ABSTIME).ts_nsec= (now % ULL(10000000) * 100 + ((NSEC) % 100)); \
|
||||
}
|
||||
#endif /* !set_timespec_nsec */
|
||||
#ifndef get_timespec_sec
|
||||
#define get_timespec_sec(ABSTIME) (ABSTIME).ts_sec
|
||||
#endif /* !get_timespec_sec */
|
||||
#else
|
||||
#ifndef set_timespec
|
||||
#define set_timespec(ABSTIME,SEC) \
|
||||
@@ -432,6 +431,9 @@ int my_pthread_mutex_trylock(pthread_mutex_t *mutex);
|
||||
(ABSTIME).tv_nsec= (long) (now % ULL(10000000) * 100 + ((NSEC) % 100)); \
|
||||
}
|
||||
#endif /* !set_timespec_nsec */
|
||||
#ifndef get_timespec_sec
|
||||
#define get_timespec_sec(ABSTIME) (ABSTIME).tv_sec
|
||||
#endif /* !get_timespec_sec */
|
||||
#endif /* HAVE_TIMESPEC_TS_SEC */
|
||||
|
||||
/* safe_mutex adds checking to mutex for easier debugging */
|
||||
|
@@ -719,7 +719,6 @@ Event_queue::get_top_for_execution_if_time(THD *thd, Event_job_data **job_data)
|
||||
*job_data= NULL;
|
||||
DBUG_ENTER("Event_queue::get_top_for_execution_if_time");
|
||||
|
||||
top_time.tv_nsec= 0;
|
||||
LOCK_QUEUE_DATA();
|
||||
for (;;)
|
||||
{
|
||||
@@ -732,12 +731,12 @@ Event_queue::get_top_for_execution_if_time(THD *thd, Event_job_data **job_data)
|
||||
if (queue.elements)
|
||||
{
|
||||
top= ((Event_queue_element*) queue_element(&queue, 0));
|
||||
top_time.tv_sec= sec_since_epoch_TIME(&top->execute_at);
|
||||
set_timespec(top_time, sec_since_epoch_TIME(&top->execute_at));
|
||||
|
||||
abstime= &top_time;
|
||||
}
|
||||
|
||||
if (!abstime || abstime->tv_sec > now)
|
||||
if (!abstime || get_timespec_sec(*abstime) > now)
|
||||
{
|
||||
const char *msg;
|
||||
if (abstime)
|
||||
@@ -816,8 +815,8 @@ end:
|
||||
if (to_free)
|
||||
delete top;
|
||||
|
||||
DBUG_PRINT("info", ("returning %d et_new: 0x%lx abstime.tv_sec: %ld ",
|
||||
ret, (long) *job_data, abstime ? abstime->tv_sec : 0));
|
||||
DBUG_PRINT("info", ("returning %d et_new: 0x%lx get_timespec_sec(abstime): %ld ",
|
||||
ret, (long) *job_data, abstime ? get_timespec_sec(*abstime) : 0));
|
||||
|
||||
if (*job_data)
|
||||
DBUG_PRINT("info", ("db: %s name: %s definer=%s", (*job_data)->dbname.str,
|
||||
|
@@ -5558,9 +5558,9 @@ unpack_row(RELAY_LOG_INFO *rli,
|
||||
|
||||
if (bitmap_is_set(cols, field_ptr - begin_ptr))
|
||||
{
|
||||
DBUG_ASSERT(table->record[0] <= f->ptr);
|
||||
DBUG_ASSERT(f->ptr < (table->record[0] + table->s->reclength +
|
||||
(f->pack_length_in_rec() == 0)));
|
||||
DBUG_ASSERT((char*)table->record[0] <= f->ptr);
|
||||
DBUG_ASSERT(f->ptr < (char*)(table->record[0] + table->s->reclength +
|
||||
(f->pack_length_in_rec() == 0)));
|
||||
|
||||
DBUG_PRINT("info", ("unpacking column '%s' to 0x%lx", f->field_name,
|
||||
(long) f->ptr));
|
||||
@@ -6843,8 +6843,8 @@ static int find_and_fetch_row(TABLE *table, byte *key)
|
||||
trigger false warnings.
|
||||
*/
|
||||
#ifndef HAVE_purify
|
||||
DBUG_DUMP("table->record[0]", table->record[0], table->s->reclength);
|
||||
DBUG_DUMP("table->record[1]", table->record[1], table->s->reclength);
|
||||
DBUG_DUMP("table->record[0]", (const char*)table->record[0], table->s->reclength);
|
||||
DBUG_DUMP("table->record[1]", (const char*)table->record[1], table->s->reclength);
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -6870,8 +6870,8 @@ static int find_and_fetch_row(TABLE *table, byte *key)
|
||||
trigger false warnings.
|
||||
*/
|
||||
#ifndef HAVE_purify
|
||||
DBUG_DUMP("table->record[0]", table->record[0], table->s->reclength);
|
||||
DBUG_DUMP("table->record[1]", table->record[1], table->s->reclength);
|
||||
DBUG_DUMP("table->record[0]", (const char*)table->record[0], table->s->reclength);
|
||||
DBUG_DUMP("table->record[1]", (const char*)table->record[1], table->s->reclength);
|
||||
#endif
|
||||
/*
|
||||
Below is a minor "optimization". If the key (i.e., key number
|
||||
|
Reference in New Issue
Block a user