Commit Graph

76 Commits

Author SHA1 Message Date
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