summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/ha_ndbcluster.cc13
1 files changed, 11 insertions, 2 deletions
diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc
index 12e2e3672cc..f04b024d842 100644
--- a/sql/ha_ndbcluster.cc
+++ b/sql/ha_ndbcluster.cc
@@ -5761,7 +5761,7 @@ extern "C" pthread_handler_decl(ndb_util_thread_func,
}
List<NDB_SHARE> util_open_tables;
- set_timespec(abstime, ndb_cache_check_time);
+ set_timespec(abstime, 0);
for (;;)
{
@@ -5779,12 +5779,21 @@ extern "C" pthread_handler_decl(ndb_util_thread_func,
if (ndb_cache_check_time == 0)
{
+ /* Wake up in 10 seconds to check if value has changed */
set_timespec(abstime, 10);
continue;
}
/* Set new time to wake up */
- set_timespec(abstime, ndb_cache_check_time);
+ struct timeval tv;
+ gettimeofday(&tv,0);
+ abstime.tv_sec= tv.tv_sec + (ndb_cache_check_time / 1000);
+ abstime.tv_nsec= tv.tv_usec * 1000 + (ndb_cache_check_time % 1000);
+ if (abstime.tv_nsec >= 1000000000)
+ {
+ abstime.tv_sec += 1;
+ abstime.tv_nsec -= 1000000000;
+ }
/* Lock mutex and fill list with pointers to all open tables */
NDB_SHARE *share;