aboutsummaryrefslogtreecommitdiffstats
path: root/atomic.h
Commit message (Collapse)AuthorAgeFilesLines
* * atomic.h: add #include <sys/atomic.h> for the workaround ofngoto2012-11-061-0/+1
| | | | | | | | header file name conflict of atomic.h with /usr/include/atomic.h on Solaris 10. [ruby-dev:46414] [Bug #7287] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* atomic.h: prefer GCC atomic builtinsnobu2012-07-251-19/+20
| | | | | | | | * atomic.h: prefer GCC atomic builtins than Windows APIs, if possible, since they are generic. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36536 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* suppress warnings on mingw32nobu2012-07-091-5/+5
| | | | | | * atomic.h (ATOMIC_SIZE_): cast to suppress warnings on mingw32. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36340 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c, atomic.h (ATOMIC_SIZE_*): moved from gc.c to atomic.h [ruby-dev:45909]ngoto2012-07-041-0/+47
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36309 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * complex.c: use "__sun" instead of "__sun__" to detect SunOS.akr2011-10-241-1/+1
| | | | | | | | | | | | | | | | * math.c: ditto. * hash.c: ditto. * atomic.h: ditto. * ext/io/wait/wait.c: ditto. [ruby-dev:44693] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33521 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * atomic.h: change Solaris checking macro because atomic_ops can workngoto2011-10-211-1/+1
| | | | | | | not only with Sun Studio but also with Fujitsu C Compiler. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * atomic.h (ATOMIC_INC, ATOMIC_DEC): return old values.nobu2011-10-131-2/+3
| | | | | | | | [ruby-dev:44596] [Bug #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
* * atomic.h (ATOMIC_*): use atomic_ops(3C) when SunStudio on Solaris.ngoto2011-10-131-0/+10
| | | | | | | [ruby-dev:44596] [Bug #5439] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33463 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * atomic.h(ATOMIC_SET): add cast to void to prevent misuse.kosaki2011-10-131-2/+2
| | | | | | | | [ruby-dev:44596] [Bug #5439] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33462 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * atomic.h (ATOMIC_OR): _InterlockedOr is unavailable in VC6.nobu2011-07-091-1/+14
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * atomic.h (ATOMIC_OR): _InterlockedOr is not available on migw.nobu2011-06-121-0/+6
| | | | | | * gc.c (rb_gc_set_params): VM_OBJSPACE is disabled on mignw. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_core.h (RUBY_VM_SET_TIMER_INTERRUPT, RUBY_VM_SET_INTERRUPT,kosaki2011-06-111-0/+37
RUBY_VM_SET_FINALIZER_INTERRUPT): use atomic ops for preventing interrupt_flag bit lost. * thread.c (rb_threadptr_execute_interrupts_rec): ditto. * vm_core.h (typedef struct rb_thread_struct): change type of interrupt_flag to rb_atomic_t. * atomic.h: move atomic ops definition from signal.c. * signal.c: remove atomic ops definition. * common.mk (gc, signal, thread, cont): add to dependency to atomic.h. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e