aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_db_util.h
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2010-12-17 10:45:23 +0100
committerRickard Green <[email protected]>2010-12-17 10:45:23 +0100
commit3f514f4b5f37ab3a5bf5656cf642e58b1e7c20bb (patch)
tree1c2961756b0eb4984420897fd6bf9edf6f6a93c2 /erts/emulator/beam/erl_db_util.h
parentf4f3beb158352b23959c09f8b0dfc83013d5fdf2 (diff)
parent46d9d4c36e1a9d52256b49d6fe6e519fc54a0f6e (diff)
downloadotp-3f514f4b5f37ab3a5bf5656cf642e58b1e7c20bb.tar.gz
otp-3f514f4b5f37ab3a5bf5656cf642e58b1e7c20bb.tar.bz2
otp-3f514f4b5f37ab3a5bf5656cf642e58b1e7c20bb.zip
Merge branch 'rickard/ets-no-write-refc/OTP-9000' into dev
* rickard/ets-no-write-refc/OTP-9000: Stop using reference counter when write accessing ETS-tables Conflicts: erts/emulator/beam/erl_db.c
Diffstat (limited to 'erts/emulator/beam/erl_db_util.h')
-rw-r--r--erts/emulator/beam/erl_db_util.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/erts/emulator/beam/erl_db_util.h b/erts/emulator/beam/erl_db_util.h
index 10ba755e80..58ad39d772 100644
--- a/erts/emulator/beam/erl_db_util.h
+++ b/erts/emulator/beam/erl_db_util.h
@@ -206,8 +206,7 @@ typedef struct db_fixation {
*/
typedef struct db_table_common {
- erts_refc_t ref;
- erts_refc_t fixref; /* fixation counter */
+ erts_refc_t ref; /* fixation counter and delete counter */
#ifdef ERTS_SMP
erts_smp_rwmtx_t rwlock; /* rw lock on table */
erts_smp_mtx_t fixlock; /* Protects fixations,megasec,sec,microsec */
@@ -253,7 +252,7 @@ typedef struct db_table_common {
(DB_BAG | DB_SET | DB_DUPLICATE_BAG)))
#define IS_TREE_TABLE(Status) (!!((Status) & \
DB_ORDERED_SET))
-#define NFIXED(T) (erts_refc_read(&(T)->common.fixref,0))
+#define NFIXED(T) (erts_refc_read(&(T)->common.ref,0))
#define IS_FIXED(T) (NFIXED(T) != 0)
Eterm erts_ets_copy_object(Eterm, Process*);