diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-12-09 07:30:44 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-12-09 07:30:44 +0000 |
commit | b3377eaa1360a89db3adb655c1412b80ae5bc2e4 (patch) | |
tree | 1a3bba51379b3c81dfa382dacf64853f27ab7633 /regcomp.c | |
parent | 303cd88d408b7f8b79b0580cf3d552d6e291f5df (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.c | 9 |
1 files changed, 4 insertions, 5 deletions
@@ -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 |