summaryrefslogtreecommitdiff
path: root/include/my_bitmap.h
diff options
context:
space:
mode:
authorsasha@mysql.sashanet.com <>2001-12-12 18:55:33 -0700
committersasha@mysql.sashanet.com <>2001-12-12 18:55:33 -0700
commitf7acf09d9c70afeaf36172e993b5c468f8190182 (patch)
tree7eaf5681e41349d3135b099f195338bc5e4b85c9 /include/my_bitmap.h
parentab550295e90dcc24db87ba6f1580c46f8ab2d648 (diff)
downloadmariadb-git-f7acf09d9c70afeaf36172e993b5c468f8190182.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
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
}