summaryrefslogtreecommitdiff
path: root/regcomp.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-12-09 07:30:44 (GMT)
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-12-09 07:30:44 (GMT)
commitb3377eaa1360a89db3adb655c1412b80ae5bc2e4 (patch)
tree1a3bba51379b3c81dfa382dacf64853f27ab7633 /regcomp.c
parent303cd88d408b7f8b79b0580cf3d552d6e291f5df (diff)
Revert r52995
revert slow atomic operations. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52997 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'regcomp.c')
-rw-r--r--regcomp.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/regcomp.c b/regcomp.c
index 176aa6b..23cb0ea 100644
--- a/regcomp.c
+++ b/regcomp.c
@@ -5663,11 +5663,10 @@ onig_transfer(regex_t* to, regex_t* from)
extern void
onig_chain_link_add(regex_t* to, regex_t* add)
{
- /* THREAD_ATOMIC_START; */
- do {
- REGEX_CHAIN_HEAD(to);
- } while (IS_NOT_NULL(ATOMIC_PTR_CAS(to->chain, (regex_t* )NULL, add)));
- /* THREAD_ATOMIC_END; */
+ THREAD_ATOMIC_START;
+ REGEX_CHAIN_HEAD(to);
+ to->chain = add;
+ THREAD_ATOMIC_END;
}
extern void