summaryrefslogtreecommitdiff
path: root/include/waiting_threads.h
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mysql.com>2008-09-01 21:43:11 +0200
committerSergei Golubchik <serg@mysql.com>2008-09-01 21:43:11 +0200
commit27dadbd89577e8ff80c926cfb3fbd36cf0fb48a4 (patch)
tree58664cd91e50a30abd69134062c4a7c130146cdd /include/waiting_threads.h
parent533deb0ac4ecb9ca802034459120ce725006e4f1 (diff)
downloadmariadb-git-27dadbd89577e8ff80c926cfb3fbd36cf0fb48a4.tar.gz
wt: don't support a key as a union { ulonglong, void* }. Although convenient,
it forces the user to bzero a key before setting it as a pointer, otherwise it'll have random content on architectures where sizeof(void*) < sizeof(ulonglong). Declaring a key as ulonglong only (not a union) makes this user mistake impossible. include/waiting_threads.h: WT_RESOURCE_ID::value is an ulonglong, not a union mysys/waiting_threads.c: WT_RESOURCE_ID::value is an ulonglong, not a union storage/maria/ma_write.c: WT_RESOURCE_ID::value is an ulonglong, not a union storage/maria/trnman.c: WT_RESOURCE_ID::value is an ulonglong, not a union unittest/mysys/waiting_threads-t.c: WT_RESOURCE_ID::value is an ulonglong, not a union
Diffstat (limited to 'include/waiting_threads.h')
-rw-r--r--include/waiting_threads.h5
1 files changed, 1 insertions, 4 deletions
diff --git a/include/waiting_threads.h b/include/waiting_threads.h
index c2aecdc760d..0df17a47c61 100644
--- a/include/waiting_threads.h
+++ b/include/waiting_threads.h
@@ -32,10 +32,7 @@ typedef struct st_wt_resource_type {
struct st_wt_resource_id {
WT_RESOURCE_TYPE *type;
- union {
- void *ptr;
- ulonglong num;
- } value;
+ ulonglong value;
};
#define WT_WAIT_STATS 24