Skip to content

Commit

Permalink
* atomic.h (ATOMIC_INC, ATOMIC_DEC): return old values.
Browse files Browse the repository at this point in the history
  [ruby-dev:44596] [Bug ruby#5439]
* signal.c (ruby_atomic_exchange): no needs to define on the
  platforms where atomic.h is available.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33464 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
  • Loading branch information
nobu committed Oct 13, 2011
1 parent 5558de4 commit c96c193
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 3 deletions.
8 changes: 8 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
Fri Oct 14 05:58:05 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>

* atomic.h (ATOMIC_INC, ATOMIC_DEC): return old values.
[ruby-dev:44596] [Bug #5439]

* signal.c (ruby_atomic_exchange): no needs to define on the
platforms where atomic.h is available.

Thu Oct 13 19:29:40 2011 Naohisa Goto <ngotogenome@gmail.com>

* atomic.h (ATOMIC_*): use atomic_ops(3C) when SunStudio on Solaris.
Expand Down
5 changes: 3 additions & 2 deletions atomic.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,11 +54,12 @@ typedef unsigned int rb_atomic_t;

#else
typedef int rb_atomic_t;
#define NEED_RUBY_ATOMIC_EXCHANGE
extern rb_atomic_t ruby_atomic_exchange(rb_atomic_t *ptr, rb_atomic_t val);

# define ATOMIC_SET(var, val) (void)((var) = (val))
# define ATOMIC_INC(var) (++(var))
# define ATOMIC_DEC(var) (--(var))
# define ATOMIC_INC(var) ((var)++)
# define ATOMIC_DEC(var) ((var)--)
# define ATOMIC_OR(var, val) ((var) |= (val))
# define ATOMIC_EXCHANGE(var, val) ruby_atomic_exchange(&(var), (val))
#endif
Expand Down
2 changes: 1 addition & 1 deletion signal.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
#include <errno.h>
#include "atomic.h"

#if !defined(_WIN32) && !defined(HAVE_GCC_ATOMIC_BUILTINS)
#ifdef NEED_RUBY_ATOMIC_EXCHANGE
rb_atomic_t
ruby_atomic_exchange(rb_atomic_t *ptr, rb_atomic_t val)
{
Expand Down

0 comments on commit c96c193

Please sign in to comment.