Commit Graph

149 Commits

Author SHA1 Message Date
Luigi Rizzo
fdb7f7ba3d Start untangling header inclusion in a way that does not affect
build times - tested, there is no measureable difference before and
after this commit.

In this change:

use asterisk/compat.h to include a small set of system headers:
inttypes.h, unistd.h, stddef.h, stddint.h, sys/types.h, stdarg.h,
stdlib.h, alloca.h, stdio.h

Where available, the inclusion is conditional on HAVE_FOO_H as determined
by autoconf.

Normally, source files should not include any of the above system headers,
and instead use either "asterisk.h" or "asterisk/compat.h" which does it
better. 

For the time being I have left alone second-level directories
(main/db1-ast, etc.).



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89333 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16 20:04:58 +00:00
Luigi Rizzo
09d9cce1d8 access channel locks through ast_channel_lock/unlock/trylock and not
through ast_mutex primitives.

To detect all occurrences, I have renamed the lock field in struct ast_channel
so it is clear that it shouldn't be used directly.

There are some uses in res/res_features.c (see details of the diff)
that are error prone as they try and lock two channels without
caring about the order (or without explaining why it is safe).



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89293 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-15 16:20:47 +00:00
Russell Bryant
9eff81dad9 This fixes a build error on my mac. It also works on my linux box. Let me
know if it breaks any other platform ...


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89253 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-13 21:01:14 +00:00
Tilghman Lesher
3c9bc8827b Merged revisions 89045 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r89045 | tilghman | 2007-11-06 13:09:06 -0600 (Tue, 06 Nov 2007) | 2 lines

We went to the trouble of creating a method of tracking failed trylocks, then never turned it on (oops).

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89049 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06 19:16:02 +00:00
Russell Bryant
ed6e62a8e5 Merged revisions 88931 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r88931 | russell | 2007-11-06 07:50:15 -0600 (Tue, 06 Nov 2007) | 8 lines

Remove some checks to see if locks are initialized from the non-DEBUG_THREADS
versions of the lock routines.  These are incorrect for a number of reasons:
 - It breaks the build on mac.
 - If there is a problem with locks not getting initialized, then the proper
   fix is to find that place and fix the code so that it does get initialized.
 - If additional debug code is needed to help find the problem areas, then this
   type of things should _only_ be put in the DEBUG_THREADS wrappers.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88932 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06 13:57:16 +00:00
Tilghman Lesher
ce90623010 Merged revisions 88210 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r88210 | tilghman | 2007-11-02 08:03:03 -0500 (Fri, 02 Nov 2007) | 5 lines

Fix build on Solaris
Reported by: snuffy
Patch by: ys
Closes issue #11143

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88211 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-02 13:10:29 +00:00
Tilghman Lesher
59ca511408 Merged revisions 87739 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r87739 | tilghman | 2007-10-30 18:02:22 -0500 (Tue, 30 Oct 2007) | 5 lines

Fix for uninitialized mutexes on *BSD
Reported by: ys
Fixed by: ys
Closes issue #11116

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87740 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-30 23:08:59 +00:00
Russell Bryant
f7782d60d1 Merged revisions 87396 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r87396 | russell | 2007-10-29 15:22:07 -0500 (Mon, 29 Oct 2007) | 5 lines

Add some more details to the output of "core show locks".  When a thread
is waiting for a lock, this will now show the details about who currently
has it locked.
(inspired by issue #11100)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87397 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-29 20:24:47 +00:00
Russell Bryant
8bf796ec10 Merged revisions 86836 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r86836 | russell | 2007-10-22 16:36:12 -0500 (Mon, 22 Oct 2007) | 9 lines

If lock tracking is not enabled, then we can not attempt to log any mutex
failures.  If so, we could end up in infinite recursion.  The only lock that
is affected by this is a mutex in astmm.c used when MALLOC_DEBUG is enabled.

(closes issue #11044)
Reported by: ys
Patches:
      lock.h.diff uploaded by ys (license 281)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86839 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-22 21:37:58 +00:00
Russell Bryant
3b92c7b262 Merged revisions 86726 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r86726 | russell | 2007-10-22 10:43:30 -0500 (Mon, 22 Oct 2007) | 4 lines

Update the static mutex initializer to include the initialization of
the internal mutex used to protect the lock debugging data.
(closes issue #11044, patch suggested by Ivan)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86734 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-22 15:45:04 +00:00
Russell Bryant
dbdbdb7f43 Merged revisions 85997 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r85997 | russell | 2007-10-16 17:36:16 -0500 (Tue, 16 Oct 2007) | 1 line

really picky formatting tweak ...
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@85998 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-16 22:36:58 +00:00
Russell Bryant
5007769d4e Merged revisions 85994 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r85994 | russell | 2007-10-16 17:14:36 -0500 (Tue, 16 Oct 2007) | 16 lines

Some locking errors exposed the fact that the lock debugging code itself was
not thread safe.  How ironic!  Anyway, these changes ensure that the code that
is accessing the lock debugging data is thread-safe.  

Many thanks to Ivan for finding and fixing the core issue here, and also 
thanks to those that tested the patch and provided test results.

(closes issue #10571)
(closes issue #10886)
(closes issue #10875)
(might close some others, as well ...)

Patches: (from issue #10571)
      ivan_ast_1_4_12_rel_patch_lock.h.diff uploaded by Ivan (license 229)
       - a few small changes by me

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@85995 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-16 22:21:45 +00:00
Tilghman Lesher
e9221b062e Merged revisions 85158 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r85158 | tilghman | 2007-10-09 16:55:06 -0500 (Tue, 09 Oct 2007) | 5 lines

This commit fixes the following issues:
- Deadlock in ast_write (issue #10406)
- Deadlock in ast_read (issue #10406)
- Possible mutex initialization error in lock.h (issue #10571)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@85176 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-09 22:21:49 +00:00
Russell Bryant
9334e72e76 Merged revisions 84271 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r84271 | russell | 2007-10-01 16:07:06 -0500 (Mon, 01 Oct 2007) | 4 lines

Fulfull a feature request from Qwell on the "core show locks" output.  It will
now note the lock type for each lock that a thread holds.
(mutex, rdlock, or wrlock)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@84272 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-01 21:15:57 +00:00
Russell Bryant
1f3f7215d8 Merged revisions 84206 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r84206 | russell | 2007-10-01 14:34:12 -0500 (Mon, 01 Oct 2007) | 2 lines

Show rwlocks in the "core show locks" output.  Before, it only showed mutexes.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@84207 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-01 19:40:21 +00:00
Tilghman Lesher
c4869b5f1d Merged revisions 82028 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r82028 | tilghman | 2007-09-08 21:35:18 -0500 (Sat, 08 Sep 2007) | 2 lines

Fix inline compiles on really old compilers (who uses gcc 2.7 anymore, really?) (closes issue #10675)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@82029 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-09 02:45:06 +00:00
Tilghman Lesher
9169ac8ef4 Merged revisions 81569 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r81569 | tilghman | 2007-09-05 12:18:24 -0500 (Wed, 05 Sep 2007) | 2 lines

Solaris x86 compatibility fix

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@81631 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-05 21:45:19 +00:00
Steve Murphy
b69734ae09 Stephn Davies reports that this will help make things work on 64-bit machines
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@80075 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-20 17:37:36 +00:00
Russell Bryant
fef7773d0b Merged revisions 78995 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r78995 | russell | 2007-08-10 10:20:09 -0500 (Fri, 10 Aug 2007) | 4 lines

The last set of changes that I made to "core show locks" made it not able to
track mutexes unless they were declared using AST_MUTEX_DEFINE_STATIC.  Locks
initialized with ast_mutex_init() were not tracked.  It should work now.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79005 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-10 15:29:31 +00:00
Russell Bryant
1a4bd1ec63 Merged revisions 78143 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r78143 | russell | 2007-08-04 23:15:31 -0500 (Sat, 04 Aug 2007) | 2 lines

Fix compilation failure when MALLOC_DEBUG is enabled, but DEBUG_THREADS is not

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@78144 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-05 04:16:43 +00:00
Russell Bryant
befb383d16 Merged revisions 78095 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r78095 | russell | 2007-08-03 14:39:49 -0500 (Fri, 03 Aug 2007) | 28 lines

Add some improvements to lock debugging.  These changes take effect
with DEBUG_THREADS enabled and provide the following:

 * This will keep track of which locks are held by which thread as well as
   which lock a thread is waiting for in a thread-local data structure.  A
   reference to this structure is available on the stack in the dummy_start()
   function, which is the common entry point for all threads.  This information
   can be easily retrieved using gdb if you switch to the dummy_start() stack
   frame of any thread and print the contents of the lock_info variable.

 * All of the thread-local structures for keeping track of this lock information
   are also stored in a list so that the information can be dumped to the CLI
   using the "core show locks" CLI command.  This introduces a little bit of a
   performance hit as it requires additional underlying locking operations
   inside of every lock/unlock on an ast_mutex.  However, the benefits of
   having this information available at the CLI is huge, especially considering
   this is only done in DEBUG_THREADS mode.  It means that in most cases where
   we debug deadlocks, we no longer have to request access to the machine to
   analyze the contents of ast_mutex_t structures.  We can now just ask them
   to get the output of "core show locks", which gives us all of the information
   we needed in most cases.

I also had to make some additional changes to astmm.c to make this work when
both MALLOC_DEBUG and DEBUG_THREADS are enabled.  I disabled tracking of one
of the locks in astmm.c because it gets used inside the replacement memory
allocation routines, and the lock tracking code allocates memory.  This caused
infinite recursion.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@78096 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-03 19:41:42 +00:00
Tilghman Lesher
1aa9e4fc4d Merged revisions 76937 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r76937 | tilghman | 2007-07-24 17:12:43 -0500 (Tue, 24 Jul 2007) | 10 lines

Merged revisions 76934 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r76934 | tilghman | 2007-07-24 17:11:33 -0500 (Tue, 24 Jul 2007) | 2 lines

Oops, res contains the error code, not errno.  I was wondering why a mutex was reporting "No such file or directory"...

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76940 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-24 22:13:37 +00:00
Russell Bryant
3f414d2aea Remove a message that goes to LOG_ERROR that's not really an error.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@62264 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-28 19:23:46 +00:00
Joshua Colp
3e0d0362e8 Change trylock output for what already has the lock from an error to a warning.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@50034 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-08 18:26:50 +00:00
Joshua Colp
193d2932b9 We should probably declare the lock... and not just the constructor/deconstructor.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48928 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-23 19:55:38 +00:00
Russell Bryant
72f23795df Use the correct function to destroy an rwlock in the destructor for an ast_rwlock_t
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48927 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-23 19:51:56 +00:00
Joshua Colp
bbe0a579b2 Add support to see what holds the lock when doing trylock.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48480 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-15 06:34:29 +00:00
Joshua Colp
ae00c6d3fa Set the AST_RWLOCK_INIT_VALUE to the PTHREAD_RWLOCK_INIT_VALUE if it is available, that way outside stuff can determine whether to use a constructor or deconstructor for initialization instead of using the init value.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46940 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-02 16:51:27 +00:00
Joshua Colp
aebb4aaa0d I'm crazy so I will add this... pthread rwlock wrappers, along with autoconf stuff that detects the presence of the initializer and the ability to set the kind of lock (in our case we rather like writer preferred locks so writer starvation doesn't occur... but on something like Darwin we don't get that)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46935 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-02 16:28:13 +00:00
Olle Johansson
8a2e564df5 Issue 8246 Doxygen updates (kshumard)
THANK YOU!



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46434 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-30 16:33:02 +00:00
Kevin P. Fleming
ccc221ed79 Merged revisions 43952 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r43952 | kpfleming | 2006-09-28 17:42:18 -0500 (Thu, 28 Sep 2006) | 2 lines

eliminate compiler warning when DEBUG_CHANNEL_LOCKS is enabled and users of this header file don't also include channel.h

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43953 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-28 22:43:24 +00:00
Kevin P. Fleming
734a3d356e don't need two copies of this
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43239 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-18 22:14:09 +00:00
Kevin P. Fleming
7b43316cbc a little cleanup and simplification, and remove ON_FIRST_USE mode since nobody uses it
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43237 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-18 22:05:53 +00:00
Kevin P. Fleming
0a27d8bfe5 merge new_loader_completion branch, including (at least):
- restructured build tree and makefiles to eliminate recursion problems
  - support for embedded modules
  - support for static builds
  - simpler cross-compilation support
  - simpler module/loader interface (no exported symbols)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@40722 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-21 02:11:39 +00:00
Joshua Colp
ecb907e010 Use OSAtomicAdd instead of OSAtomicDecrement to decrement the value by 1.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@40303 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-17 21:14:03 +00:00
Russell Bryant
7718426316 fix the condition for including the header for osx atomics
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36421 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-30 16:02:05 +00:00
Russell Bryant
40bae2fba3 add support for atomic operations provided by mac osx
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36409 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-30 15:54:13 +00:00
Kevin P. Fleming
eddf363a0e use atomic operations provided by the compiler if they are available (yay for gcc 4.1 users!)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@33953 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-13 21:35:29 +00:00
Russell Bryant
40b3ce5c8f suppress warnings when building with DEBUG_CHANNEL_LOCKS (issue #7330, casper)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@33550 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-11 21:42:13 +00:00
Kevin P. Fleming
8d74f0ebe6 restore AST_LIST_HEAD_INIT (with no users in the tree right now)
update ast_mutex_init to allow mutexes that are all zero bytes to be initialized (in the case of a dynamically-allocated structure containing a mutex)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@29727 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-23 17:04:07 +00:00
Luigi Rizzo
b91ce5a738 set correct type for lock initializers
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@26991 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-11 20:21:11 +00:00
Olle Johansson
4a312a044d - Fixes to ast_channel_lock functions
- New get_sip_pvt_byid function (not really used correctly yet...)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20424 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16 12:57:15 +00:00
Olle Johansson
e75fa47099 More ast_channel_lock fixes
- Update lock.h with definitions of ast_channel_lock, ast_channel_unlock and ast_channel_trylock
- Convert some functions (but not all) in channel.c
- Fix some bugs in chan_sip.c
- Convert rest of chan_sip.c


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20295 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-15 15:07:39 +00:00
Olle Johansson
6b3367bf5c New functions for locking a channel - these simplify debugging
when you have channel locking issues.
(Part of the SIP transfer patch, where I had a *lot* of
channel locking problems)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20264 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-15 08:07:50 +00:00
Luigi Rizzo
33a3a7375a temporarily revert the way mutex are initialized on BSD systems.
This fixes the compilation on OS/X (the change exposed a wrong
assumption on mutex types on OS/X), but still leaves open the
bugs in initializing mutex on bsd systems, which you will see
reported as 'locking failures' on certain operations.
I need to investigate the issue further, but the best thing
i can do now is leave things as they have been for months.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@19973 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-14 13:54:53 +00:00
Kevin P. Fleming
371e0316f0 simplify macro usage
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@19614 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-12 23:33:47 +00:00
Luigi Rizzo
2876a25505 add 'show threads' and 'show profile' commands.
These are momstly debugging tools for developers,
a bit documented in the header files (utils.h),
although more documentation is definitely necessary.

The performance impact is close to zero(*) so there is no
need to compile it conditionally.
(*) not completely true - thread destruction still needs
to search a list _but_ this can be easily optimized if we
end up with hundreds of active threads (in which case, though,
the problem is clearly elsewhere).



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@19544 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-12 20:40:46 +00:00
Luigi Rizzo
d20575d2af fix various bugs in the DEBUG_THREADS code including:
- misspelled ast_mutex_logger() instead of __ast_mutex_logger()
- misplaced #define ast_mutex_init(pmutex)
- wrong arguments to __ast_mutex_logger() in one instance.

Clearly this code is too spaghetti!



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@19396 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-11 22:37:27 +00:00
Olle Johansson
adf8c8deda - Change AST_INLINE_AP to AST_INLINE_API for non-386 systems :-)
- Doxygen changes


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@16615 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-31 00:25:50 +00:00
Luigi Rizzo
a7ec530a64 initial implementation of support for native atomic ops.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@16601 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-30 23:26:22 +00:00