return Status::IOError(context, strerror(err_number));
}
+// TODO(sdong): temp logging. Need to help debugging. Remove it when
+// the feature is proved to be stable.
+inline void PrintThreadInfo(size_t thread_id, pthread_t id) {
+ unsigned char* ptc = (unsigned char*)(void*)(&id);
+ fprintf(stdout, "Bg thread %zu terminates 0x", thread_id);
+ for (size_t i = 0; i < sizeof(id); i++) {
+ fprintf(stdout, "%02x", (unsigned)(ptc[i]));
+ }
+ fprintf(stdout, "\n");
+}
+
#ifdef NDEBUG
// empty in release build
#define TEST_KILL_RANDOM(rocksdb_kill_odds)
PthreadCall("unlock", pthread_mutex_unlock(&mu_));
// TODO(sdong): temp logging. Need to help debugging. Remove it when
// the feature is proved to be stable.
- fprintf(stdout, "Bg thread %zu terminates %llx\n", thread_id,
- static_cast<long long unsigned int>(terminating_thread));
+ PrintThreadInfo(thread_id, terminating_thread);
break;
}
void (*function)(void*) = queue_.front().function;