summaryrefslogtreecommitdiff
path: root/include/my_bitmap.h
diff options
context:
space:
mode:
authorunknown <sasha@mysql.sashanet.com>2001-12-12 18:55:33 -0700
committerunknown <sasha@mysql.sashanet.com>2001-12-12 18:55:33 -0700
commit623eedda2601f083c45a6f4af794e5b4b2703901 (patch)
tree7eaf5681e41349d3135b099f195338bc5e4b85c9 /include/my_bitmap.h
parentb9562004e9d8e062790f6346bd8a0439fd5e8822 (diff)
downloadmariadb-git-623eedda2601f083c45a6f4af794e5b4b2703901.tar.gz
slave-skip-errors
added extra/mysql_install.c - will work on it in 4.0, but it does not hurt to have it sit in 3.23 tree for now since it will eventually be backported to 3.23 anyway Docs/manual.texi: documented slave-skip-errors updated change history extra/resolve_stack_dump.c: fixed wrong help message include/my_bitmap.h: bitmap code updates mysql-test/r/rpl_get_lock.result: test for a possible bug in release_lock() replication mysql-test/t/rpl_get_lock.test: test for possible bug in release_lock replication mysys/my_bitmap.c: bitmap code updates/clean-up sql/mysqld.cc: slave-skip-errors sql/slave.cc: slave-skip-errors sql/slave.h: slave skip errors
Diffstat (limited to 'include/my_bitmap.h')
-rw-r--r--include/my_bitmap.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/include/my_bitmap.h b/include/my_bitmap.h
index a48858f275c..313d3f747e3 100644
--- a/include/my_bitmap.h
+++ b/include/my_bitmap.h
@@ -26,6 +26,11 @@ typedef struct st_bitmap
{
uchar *bitmap;
uint bitmap_size;
+ my_bool thread_safe; /* set if several threads access the bitmap */
+ /* mutex will be acquired for the duration of each bitmap operation if
+ thread_safe flag is set. Otherwise, we optimize by not acquiring the
+ mutex
+ */
#ifdef THREAD
pthread_mutex_t mutex;
#endif
@@ -34,10 +39,14 @@ typedef struct st_bitmap
#ifdef __cplusplus
extern "C" {
#endif
- extern my_bool bitmap_init(MY_BITMAP *bitmap, uint bitmap_size);
+ extern my_bool bitmap_init(MY_BITMAP *bitmap, uint bitmap_size,
+ my_bool thread_safe);
extern void bitmap_free(MY_BITMAP *bitmap);
extern void bitmap_set_bit(MY_BITMAP *bitmap, uint bitmap_bit);
extern uint bitmap_set_next(MY_BITMAP *bitmap);
+ extern void bitmap_set_all(MY_BITMAP* bitmap);
+ extern my_bool bitmap_is_set(MY_BITMAP* bitmap, uint bitmap_bit);
+ extern void bitmap_clear_all(MY_BITMAP* bitmap);
extern void bitmap_clear_bit(MY_BITMAP *bitmap, uint bitmap_bit);
#ifdef __cplusplus
}