From c944ca9069d187d665294cc6e62c7e4a5c723b81 Mon Sep 17 00:00:00 2001 From: Ian Ker-Seymer Date: Wed, 2 May 2018 23:59:50 -0400 Subject: [PATCH 1/2] Ensure memory barriers when setting/getting atomic boolean --- .gitignore | 2 +- ext/concurrent/atomic_boolean.c | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 14fb18970..a9fc561bc 100644 --- a/.gitignore +++ b/.gitignore @@ -25,4 +25,4 @@ tmtags .DS_Store .githubtoken -spec/examples.txt \ No newline at end of file +lib/concurrent/extension.so diff --git a/ext/concurrent/atomic_boolean.c b/ext/concurrent/atomic_boolean.c index d86fe2057..78ce350fb 100644 --- a/ext/concurrent/atomic_boolean.c +++ b/ext/concurrent/atomic_boolean.c @@ -21,13 +21,12 @@ VALUE method_atomic_boolean_initialize(int argc, VALUE* argv, VALUE self) { } VALUE method_atomic_boolean_value(VALUE self) { - return (VALUE) DATA_PTR(self); + return(ir_get(self)); } VALUE method_atomic_boolean_value_set(VALUE self, VALUE value) { VALUE new_value = TRUTHY(value); - DATA_PTR(self) = (void *) new_value; - return(new_value); + return(ir_set(self, new_value)); } VALUE method_atomic_boolean_true_question(VALUE self) { From b93f433cc7ceacea95aef41dd31558ff9c357f2b Mon Sep 17 00:00:00 2001 From: Chalupa Petr Date: Mon, 7 May 2018 11:11:58 +0200 Subject: [PATCH 2/2] Fix .gitignore --- .gitignore | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.gitignore b/.gitignore index a9fc561bc..33c5ca4ef 100644 --- a/.gitignore +++ b/.gitignore @@ -25,4 +25,10 @@ tmtags .DS_Store .githubtoken +# Rspec created files +spec/examples.txt + +# Compiled files +lib/concurrent_ruby_ext.jar lib/concurrent/extension.so +lib/concurrent/extension.bundle