summaryrefslogtreecommitdiff
path: root/atomic
Commit message (Collapse)AuthorAgeFilesLines
* drop .cvsignore filesnd2004-11-242-8/+0
| | | | git-svn-id: http://svn.apache.org/repos/asf/apr/apr/branches/1.0.x@106484 13f79535-47bb-0310-9956-ffa450edef68
* Merge in changes from trunk to 1.0.x.jerenkrantz2004-11-173-2/+15
| | | | | | | | Changes have been reviewed to be binary compatible with 1.0.0 by Justin to the best of his sleep-deprived ability. git-svn-id: http://svn.apache.org/repos/asf/apr/apr/branches/1.0.x@76072 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
* Style police are on the prowl.jerenkrantz2002-04-221-15/+13
| | | | | | | (No code changes) git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@63288 13f79535-47bb-0310-9956-ffa450edef68
* Add .deps to cvsignore since APR may now generate .deps files.jerenkrantz2002-04-222-0/+2
| | | | | | | (somehow CVS ignored updating these on the last commit.) git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@63287 13f79535-47bb-0310-9956-ffa450edef68
* Allow VPATH builds to properly generate build dependencies. This requiresjerenkrantz2002-04-223-1/+6
| | | | | | | | | | | | srcdir to always be available in a Makefile, so we need to stop adding this only when we use VPATH. Change the dependency generation to use .deps instead of appending to the Makefile. This makes us consistent with the dependency style of httpd-2.0. git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@63286 13f79535-47bb-0310-9956-ffa450edef68