Fixed ordering
diff --git a/samplecode/localattestation/attestation/src/func.rs b/samplecode/localattestation/attestation/src/func.rs
index cb40533..23dae48 100644
--- a/samplecode/localattestation/attestation/src/func.rs
+++ b/samplecode/localattestation/attestation/src/func.rs
@@ -48,15 +48,15 @@
static CALLBACK_FN: AtomicPtr<()> = AtomicPtr::new(0 as * mut ());
pub fn init(cb: Callback) {
- let ptr = CALLBACK_FN.load(Ordering::SeqCst);
+ let ptr = CALLBACK_FN.load(Ordering::Relaxed);
if ptr.is_null() {
let ptr: * mut Callback = Box::into_raw(Box::new(cb));
- CALLBACK_FN.store(ptr as * mut (), Ordering::SeqCst);
+ CALLBACK_FN.store(ptr as * mut (), Ordering::Relaxed);
}
}
fn get_callback() -> Option<&'static Callback>{
- let ptr = CALLBACK_FN.load(Ordering::SeqCst) as *mut Callback;
+ let ptr = CALLBACK_FN.load(Ordering::Relaxed) as *mut Callback;
if ptr.is_null() {
return None;
}
diff --git a/samplecode/psi/SMCServer/enclave/src/lib.rs b/samplecode/psi/SMCServer/enclave/src/lib.rs
index 59eabec..b35d25e 100644
--- a/samplecode/psi/SMCServer/enclave/src/lib.rs
+++ b/samplecode/psi/SMCServer/enclave/src/lib.rs
@@ -85,7 +85,7 @@
fn get_ref_hash_buffer() -> Option<&'static RefCell<SetIntersection>>
{
- let ptr = GLOBAL_HASH_BUFFER.load(Ordering::SeqCst) as * mut RefCell<SetIntersection>;
+ let ptr = GLOBAL_HASH_BUFFER.load(Ordering::Relaxed) as * mut RefCell<SetIntersection>;
if ptr.is_null() {
None
} else {
@@ -107,7 +107,7 @@
let data_box = Box::new(RefCell::<SetIntersection>::new(data));
let ptr = Box::into_raw(data_box);
- GLOBAL_HASH_BUFFER.store(ptr as *mut (), Ordering::SeqCst);
+ GLOBAL_HASH_BUFFER.store(ptr as *mut (), Ordering::Relaxed);
sgx_status_t::SGX_SUCCESS
}
@@ -116,7 +116,7 @@
pub extern "C"
fn uninitialize() {
- let ptr = GLOBAL_HASH_BUFFER.swap(0 as * mut (), Ordering::SeqCst) as * mut RefCell<SetIntersection>;
+ let ptr = GLOBAL_HASH_BUFFER.swap(0 as * mut (), Ordering::Relaxed) as * mut RefCell<SetIntersection>;
if ptr.is_null() {
return;
}
diff --git a/samplecode/thread/enclave/src/lib.rs b/samplecode/thread/enclave/src/lib.rs
index 7b7f1bd..7e7ea19 100644
--- a/samplecode/thread/enclave/src/lib.rs
+++ b/samplecode/thread/enclave/src/lib.rs
@@ -59,12 +59,12 @@
SgxCondvar::new(),
));
let ptr = Box::into_raw(lock);
- GLOBAL_COND_BUFFER.store(ptr as *mut (), Ordering::SeqCst);
+ GLOBAL_COND_BUFFER.store(ptr as *mut (), Ordering::Relaxed);
}
#[no_mangle]
pub extern "C" fn ecall_uninitialize() {
- let ptr = GLOBAL_COND_BUFFER.swap(0 as *mut (), Ordering::SeqCst)
+ let ptr = GLOBAL_COND_BUFFER.swap(0 as *mut (), Ordering::Relaxed)
as *mut (SgxMutex<CondBuffer>, SgxCondvar, SgxCondvar);
if ptr.is_null() {
return;
@@ -73,7 +73,7 @@
}
fn get_ref_cond_buffer() -> Option<&'static (SgxMutex<CondBuffer>, SgxCondvar, SgxCondvar)> {
- let ptr = GLOBAL_COND_BUFFER.load(Ordering::SeqCst)
+ let ptr = GLOBAL_COND_BUFFER.load(Ordering::Relaxed)
as *mut (SgxMutex<CondBuffer>, SgxCondvar, SgxCondvar);
if ptr.is_null() {
None