summaryrefslogtreecommitdiff
path: root/atomic
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright notices for 2005.jorton2005-06-144-4/+8
| | | | git-svn-id: http://svn.apache.org/repos/asf/apr/apr/branches/1.1.x@190596 13f79535-47bb-0310-9956-ffa450edef68
* Remove .cvsignore files.jorton2004-11-182-8/+0
| | | | | | | Tipped-of-by: Uwe Zeisberger git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@76269 13f79535-47bb-0310-9956-ffa450edef68
* WIN64: avoid unresolved external error with 64 bit buildake2004-09-201-0/+8
| | | | git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@65336 13f79535-47bb-0310-9956-ffa450edef68
* * atomic/unix/apr_atomic.c: Force use of generic atomics if gccjorton2004-09-131-0/+6
| | | | | | | | defines __STRICT_ANSI__ (e.g. with -std=c89), since inline asm is not supported in that case. git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@65328 13f79535-47bb-0310-9956-ffa450edef68
* Fixed apr_atomic_dec on NetWare to be thread safeclar2004-09-021-2/+1
| | | | git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@65325 13f79535-47bb-0310-9956-ffa450edef68
* Quiet build breakage on VC6 with the originally shipped includeswrowe2004-04-161-5/+16
| | | | | | | | | | (InterlockedCompareExchangePointer available in later SDK headers.) Few should be compiling on 64 bit cpu's under VC6 anymore, so ignore that edge case. git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@65063 13f79535-47bb-0310-9956-ffa450edef68
* Relicense.jorton2004-02-281-49/+10
| | | | git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64930 13f79535-47bb-0310-9956-ffa450edef68
* Relicense APR under Apache License, Version 2.0jerenkrantz2004-02-133-147/+30
| | | | git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64904 13f79535-47bb-0310-9956-ffa450edef68
* First whack at switching to a single top-level make. This adds a dependencygstein2004-02-052-27/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | upon Python at packaging time, but not at end-user config/build time. As far as I can tell, the build continues to function properly. (out-of-dir config/make not tested, and apr-iconv prolly needs some work) The buildconf scripts now generate a build-outputs.mk file which is included by the root's Makefile (via the build/gen-build.py script). bulid-outputs.mk specifies all of the various files present in the distribution. The top-level Makefiles were simplified to use an $(OBJECTS) symbol rather than 'find'ing them. Similarly, a $(HEADERS) symbol is used for the exports. The corresponding delete-* targets were eliminated since we have a precise set of inputs. The subdirs' Makefiles were removed since they are no longer called/used. The apr-util/uri Makefile was responsible for compiling a C program to generate the uri_delims.h file. That process was replaced by a Python script to generate the header (called by buildconf). The .c and .dsp were left for the Windows build to continue, but that should be revamped. build/apr_rules.mk was revamped somewhat to avoid recursion, but a lot of cleanup is still needed. Much of the recursive/local/x- logic is no longer needed and can be elimianated. rules.mk was created for inclusion by N makefiles, but that isn't really true any more, so it could probably be tossed (caveat: test/Makefile). Saved for a phase 2. Some additional work was added to properly clean up files in */build/, rather than relying on a makefile in there. git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64891 13f79535-47bb-0310-9956-ffa450edef68
* Clean up configure logic for enabling "nonportable" atomics: don'tjorton2004-01-061-2/+6
| | | | | | | | | | | | | | | | export the result via apr.h, and enable use of inline asm by default on ppc64 and x86_64. * configure.in: Define USE_GENERIC_ATOMICS on i[456]86 unless --enable-nonportable-atomics was used. * include/apr.h.in: Remove APR_FORCE_GENERIC_ATOMICS. * atomic/unix/apr_atomic.c: Check for !defined(USE_GENERIC_ATOMICS) rather than defined(APR_FORCE_GENERIC_ATOMICS). git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64861 13f79535-47bb-0310-9956-ffa450edef68
* * atomic/unix/apr_atomic.c: Enable x86 asm on AMD64.jorton2004-01-061-1/+2
| | | | git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64859 13f79535-47bb-0310-9956-ffa450edef68
* * atomic/solaris_sparc: Remove now-unused leftovers ofjorton2003-12-313-33/+0
| | | | | | | Solaris/SPARC-specific atomics. git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64854 13f79535-47bb-0310-9956-ffa450edef68
* * apr_atomic.c: Remove use of atomic_* from FreeBSD'sjorton2003-12-311-30/+0
| | | | | | | | machine/atomic.h, these don't return values and aren't usable from userspace on more arches than just i386. git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64853 13f79535-47bb-0310-9956-ffa450edef68
* Review of x86 asm, fixing intel_atomic_add32 with gcc 2.7.2.1 whichjorton2003-12-161-13/+10
| | | | | | | | | | | | | | | | doesn't allow the '+' constraint on an output operand. * apr_atomic.c (apr_atomic_cas32, apr_atomic_sub32): Condition code register is clobbered. (intel_atomic_add32): Use separate input operands rather than read/write output operands; clobber cc. (apr_atomic_dec32): Simplify by two instructions to output an 8-bit value; clobber cc. Submitted by: David Howells <dhowells@redhat.com> git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64839 13f79535-47bb-0310-9956-ffa450edef68
* enable i386 atomics for gcc on any platform...trawick2003-12-151-2/+1
| | | | | | | | | it is expected that there are relatively few (or zero) platforms where it would be used where it won't work git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64837 13f79535-47bb-0310-9956-ffa450edef68
* enable the x86 atomic code on Solaris/x86trawick2003-12-121-1/+1
| | | | git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64835 13f79535-47bb-0310-9956-ffa450edef68
* ppc + gcc updatesgregames2003-12-091-6/+29
| | | | | | | | | | | | apr_atomic_cas32: * make sure gcc uses a valid base register (not r0) for mem, * tell gcc that the condition code is clobbered, and * use asm local labels to avoid future namespace collisions apr_atomic_add32: add a native implementation git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64832 13f79535-47bb-0310-9956-ffa450edef68
* fix an apparent cut-n-paste-o in a commentgregames2003-12-091-1/+1
| | | | git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64824 13f79535-47bb-0310-9956-ffa450edef68
* no functional change. add whitespace to align asm operandsgregames2003-12-091-1/+1
| | | | git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64823 13f79535-47bb-0310-9956-ffa450edef68
* changes to the apr atomic implementations for unix-ish boxestrawick2003-12-081-33/+69
| | | | | | | | | | | | | | | | | a) need to check for __ppc__ on Darwin to pick up the PPC non-portable atomics b) axe the historic checks for defined(apr_atomic_foo) when deciding whether to generate the default version of apr_atomic_foo; checking for APR_OVERRIDE_ATOMIC_FOO is sufficient c) if the platform has defined apr_atomic_cas32() but not all the other apr_atomic_foo32(), use apr_atomic_cas32() in a generic version that will be much preferable to the no-cas32 version (which must use locking) git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64818 13f79535-47bb-0310-9956-ffa450edef68
* Switch to a pure atomic implementationbnicholes2003-12-081-6/+2
| | | | git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64817 13f79535-47bb-0310-9956-ffa450edef68
* add apr_atomic_cas32 for ppc with gcc.gregames2003-12-081-0/+25
| | | | | | | | Could someone try this with testatomic on Mac OS X? It should just work, but I couldn't test it. moof no longer likes me. git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64816 13f79535-47bb-0310-9956-ffa450edef68
* intel_atomic_add32: re-specify asm inputs and outputs, after RTFMing andgregames2003-12-051-4/+5
| | | | | | | Googling git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64815 13f79535-47bb-0310-9956-ffa450edef68
* use an inlined function to eliminate one copy of the xadd assembler code.gregames2003-12-051-8/+9
| | | | | | | You need to specify at least -O1 to enable inlining. That seems fair. git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64814 13f79535-47bb-0310-9956-ffa450edef68
* * apr_atomic.c: abort() if any mutex locking or unlocking calls fail.jorton2003-12-051-51/+42
| | | | git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64812 13f79535-47bb-0310-9956-ffa450edef68
* be sure that _add and _inc use 32 bit instructions. Also make sure gccgregames2003-12-041-4/+4
| | | | | | | knows we want the same register for an input and an output operand. git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64810 13f79535-47bb-0310-9956-ffa450edef68
* Fix up the return values for apr_atomic_add32() and apr_atomic_inc32() since ↵bnicholes2003-12-041-2/+6
| | | | | | the native Netware functions return void by default git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64809 13f79535-47bb-0310-9956-ffa450edef68
* apr_atomic_add32() and apr_atomic_inc32() now return values (the old value)trawick2003-12-044-29/+50
| | | | | | | Submitted by: gregames (all the hard bits) and trawick git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64808 13f79535-47bb-0310-9956-ffa450edef68
* move win32 atomic functions out of the unix file (which wasn't builttrawick2003-12-032-70/+121
| | | | | | | | | | on win32 anyway) and into a unique file apr_atomic_casptr() is busted for me on win32, as I am missing the magic bits for InterlockedCompareExchangePointer() git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64805 13f79535-47bb-0310-9956-ffa450edef68
* apr_atomic_t is deadtrawick2003-12-031-6/+0
| | | | git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64804 13f79535-47bb-0310-9956-ffa450edef68
* move the implementations of apr atomics out of the public header filetrawick2003-12-033-9/+295
| | | | | | | | | | | in order to . aid in keeping the different flavors consistent . prevent bug fixes from requiring that apps be rebuilt Reviewed and/or fixed by: Brad Nicholes, Greg Marr git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64803 13f79535-47bb-0310-9956-ffa450edef68
* axing deprecated apr_atomic_foo functionstrawick2003-11-162-103/+3
| | | | git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64747 13f79535-47bb-0310-9956-ffa450edef68
* fix type mismatch with picky compiler settings on z/OStrawick2003-11-051-4/+4
| | | | | | | (volatile vs. non-volatile) git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64720 13f79535-47bb-0310-9956-ffa450edef68
* Fix default impl of apr_atomic_xchg32, and add a test case for itbrianp2003-09-261-1/+1
| | | | git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64642 13f79535-47bb-0310-9956-ffa450edef68
* new version of atomic API that works specifically on apr_uint32_t values for ↵brianp2003-09-251-1/+134
| | | | | | greater portability git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64639 13f79535-47bb-0310-9956-ffa450edef68
* removed the solaris specific atomic code.ianh2003-05-031-132/+0
| | | | | | | | | it was under the MPL 1.0 licence, which is incompatible with outs. tried contacting the author, with no response ;( git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64500 13f79535-47bb-0310-9956-ffa450edef68
* This code was licensed under version 1.0 of the Mozilla Public Licensejorton2003-04-301-1/+14
| | | | | | | (which is a copyleft and a lot more restrictive than the ASL). git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64496 13f79535-47bb-0310-9956-ffa450edef68
* Update copyright notices to 2003.thommay2003-01-014-4/+4
| | | | | | | No functional changes git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64251 13f79535-47bb-0310-9956-ffa450edef68
* remove an extraneous endifbrianp2002-10-191-1/+0
| | | | git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@63956 13f79535-47bb-0310-9956-ffa450edef68
* Add pointer version of apr_atomic_casbrianp2002-10-193-3/+30
| | | | git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@63953 13f79535-47bb-0310-9956-ffa450edef68
* fix an old typo and a bad cut-and-pastebrianp2002-10-191-2/+2
| | | | git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@63952 13f79535-47bb-0310-9956-ffa450edef68
* Fix !APR_HAS_THREADS code path for apr_atomic_cas by always definingjerenkrantz2002-09-011-1/+1
| | | | | | | prev. git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@63847 13f79535-47bb-0310-9956-ffa450edef68
* Minor style nit.jerenkrantz2002-09-011-2/+2
| | | | git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@63846 13f79535-47bb-0310-9956-ffa450edef68
* Fixed the SPARC v8plus version of apr_atomic_dec so thatbrianp2002-09-011-2/+4
| | | | | | | | it returns the new value instead of the old value (to match the way the other implementations of this function work) git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@63844 13f79535-47bb-0310-9956-ffa450edef68
* Cleaner mechanism for using platform-specific atomics on platformsbrianp2002-08-311-20/+40
| | | | | | | that override some of the default atomic functions but not others git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@63842 13f79535-47bb-0310-9956-ffa450edef68
* fix apr_atomic_init() on systems without threadsbrianp2002-07-051-0/+8
| | | | git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@63579 13f79535-47bb-0310-9956-ffa450edef68
* Use the native cmpxchg() function for NetWarebnicholes2002-06-111-45/+0
| | | | git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@63492 13f79535-47bb-0310-9956-ffa450edef68
* ignore generated filestrawick2002-04-301-0/+4
| | | | git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@63320 13f79535-47bb-0310-9956-ffa450edef68
* Hopefully close the build problems with atomic on Solaris systemsjim2002-04-231-1/+1
| | | | | | | | | | | | | | | | | with GNUas. It looks like 'gcc -E' is ignoring the apr_atomic_sparc.s file (due to the suffix... a apr_atomic_sparc.c file would be read in fine) causing apr_atomic_sparc.S to be empty for GNUas users. Soooooo we force it to read from stdin. For non-GNUas users, we work as normal, though a but weirdly (instead of cat ... > it's cat - < ... > ) PR: Obtained from: Submitted by: Reviewed by: Aaron Bannert git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@63297 13f79535-47bb-0310-9956-ffa450edef68
* Removed some extraneous code from the apr_atomic_cas functionbrianp2002-04-221-6/+0
| | | | | | | Reviewed by: Justin Erenkrantz git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@63289 13f79535-47bb-0310-9956-ffa450edef68