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
Olle Johansson
c6d1bfbb31
Doxygen doc updates
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@16551 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-30 19:05:00 +00:00
Luigi Rizzo
1de8b16b1e
remove AST_MUTEX_DEFINE_EXPORTED, which now has no more clients.
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@16533 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-30 17:11:49 +00:00
Luigi Rizzo
6d2fbc0b90
document why there are so many versions of the mutex functions,
...
with their pros and cons, and that we should converge to a single method.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@16528 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-30 16:09:23 +00:00
Kevin P. Fleming
322f53d8b8
don't treat timeouts as errors in ast_cond_timedwait
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@14593 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-24 00:03:21 +00:00
Russell Bryant
c93149c635
fix a little typo
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@9704 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-12 17:07:45 +00:00
Kevin P. Fleming
2c65582b66
remove extraneous svn:executable properties
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7221 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-29 18:24:39 +00:00
Kevin P. Fleming
b3ffb91539
issue #5668 , modified to compile on non-Cygwin platforms :-)
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7061 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-11 00:21:42 +00:00
Kevin P. Fleming
2251dd3723
issue #5570
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7022 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 03:54:04 +00:00
Kevin P. Fleming
7ffb604a2f
issue #4678
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6936 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-01 21:53:30 +00:00
Kevin P. Fleming
69194e2bc2
fix non-DEBUG_THREADS builds with new cond wrappers and lock header reorganization
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6879 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-28 16:59:48 +00:00
Kevin P. Fleming
a0cb07e467
add 'ast_cond_t' type for pthread condition variables, and appropriate API wrappers
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6877 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-28 16:35:43 +00:00
Russell Bryant
3453e3efa5
Doxygen documentation update from oej (issue #5505 )
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6847 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-24 20:12:06 +00:00
Mark Spencer
d95ad5b4d8
Make lock logging reentrant when DEBUG_THREADS enabled
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6555 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-09 05:35:14 +00:00
Kevin P. Fleming
fc91dd1035
eliminate spurious warnings
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6478 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-01 00:05:47 +00:00
Kevin P. Fleming
9614adc056
make DEBUG_THREADS have more visible logging
...
make DEBUG_THREADS able to catch locks being unlocked by threads that did not own them
add proper wrappers for pthread_cond_wait() and pthread_cond_timedwait() for DEBUG_THREADS mode
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6464 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-31 02:43:44 +00:00
Kevin P. Fleming
1632d52795
major header file cleanup: license, copyrights, descriptions, markers, etc.
...
remove deprecated config_old.c/config_old.h
remove unused cvsid.h
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6454 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-30 18:32:10 +00:00
Kevin P. Fleming
957eed7682
eliminate compiler warnings when DEBUG_THREADS is enabled
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6313 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-09 15:37:33 +00:00
Kevin P. Fleming
2c0f42361e
correct comment
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6225 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-26 21:49:07 +00:00
Mark Spencer
d69b5c74e5
Fix debugging to not print warnings
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5981 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-23 01:17:00 +00:00
Mark Spencer
89131204fd
Minor deadlock detect fix (bug #3531 )
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4986 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-08 18:48:01 +00:00
Russell Bryant
0c30452423
update copyright headers for 2005
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4868 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-21 07:06:25 +00:00
Mark Spencer
9d40b8ee80
Merge slimey's Solaris compatibility (with small mods) (bug #2740 )
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4446 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-14 23:36:30 +00:00
Mark Spencer
0a9fd1435b
Fix initialization tiddly bit
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4039 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-20 12:39:22 +00:00