pkgsrc/comms/asterisk14/patches/patch-include_asterisk_lock.h
jnemeth 2f45135701 Initial import of Asterisk 14. It has been tested to compile
and run, but not a lot of functional testing.  This does not have
the new PJSIP, which will be coming in a followup commit.  This
also does not have the patches for compiling with Clang.  For
upgrading instructions, please see:

https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+14

----- 14.0.0 -----

The Asterisk Development Team is pleased to announce the release of
Asterisk 14.0.0.

Asterisk 14 is the next major release series of Asterisk. It is a
Standard Support release, similar to Asterisk 12. For more information
about support time lines for Asterisk releases, see the Asterisk
versions page:

https://wiki.asterisk.org/wiki/display/AST/Asterisk+Versions

For important information regarding upgrading to Asterisk 14, please
see the Asterisk wiki:
https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+14

A short list of new features includes:

* A complete overhaul of the core DNS support in Asterisk, including
  implementing full NAPTR and SRV support in the PJSIP stack via the
  libunbound library.

* The ability to publish extension state to a SIP Subscription server,
  such as Kamailio. This includes the ability to automatically generate
  a hint in the dialplan based on device state changes using the new
  autohint setting.

* Playback of media from a remote HTTP server via a URI is now supported
  by all dialplan applications and AGI. Media retrieved using a URI is
  cached in a media cache and re-used when possible.

* When using ARI to manipulate media on a resource, a list of media
  resources can now be supplied. The media resources will be played back
  sequentially in the order that they are provided.

* Channels created via ARI can now be created and handed off to Stasis
  for external control prior to performing the outbound dial. This
  enables applications to set additional state on the channel prior to
  dialing, as well as enabling certain early media scenarios.

And much more!


More information about the new features can be found on the Asterisk wiki:
https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+Documentation

A full list of all new features can also be found in the CHANGES file:
https://github.com/asterisk/asterisk/blob/14/CHANGES

For a full list of changes in the current release, please see the ChangeLog:
http://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-14.0.0

Thank you for your continued support of Asterisk!

----- 14.0.1 -----

The Asterisk Development Team has announced the release of Asterisk 14.0.1.

The release of Asterisk 14.0.1 resolves an issue reported by the
community and would have not been possible without your participation.
Thank you!

The following is the issue resolved in this release:

Improvements made in this release:
-----------------------------------
 * ASTERISK-26409 - codec_opus: Update Asterisk to support the
      translation codec. (Reported by Kevin Harwell)

For a full list of changes in this release, please see the ChangeLog:

http://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-14.0.1

Thank you for your continued support of Asterisk!

----- 14.0.2 -----

The Asterisk Development Team has announced the release of Asterisk 14.0.2.

The release of Asterisk 14.0.2 resolves several issues reported by the
community and would have not been possible without your participation.
Thank you!

The following are the issues resolved in this release:

Bugs fixed in this release:
-----------------------------------
 * ASTERISK-26410 - core: Asterisk 14 doesn't show the header in
      the console or verbose when starting (Reported by Dan Jenkins)
 * ASTERISK-26426 - format_ogg_opus: remove from source (Reported
      by Kevin Harwell)
 * ASTERISK-26425 - download_externals: ignore xmlstarlet return
      code for optional element (Reported by Kevin Harwell)

For a full list of changes in this release, please see the ChangeLog:

http://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-14.0.2

Thank you for your continued support of Asterisk!
2016-10-25 08:16:31 +00:00

76 lines
2.6 KiB
C

$NetBSD: patch-include_asterisk_lock.h,v 1.1.1.1 2016/10/25 08:17:08 jnemeth Exp $
--- include/asterisk/lock.h.orig 2015-10-09 21:48:48.000000000 +0000
+++ include/asterisk/lock.h
@@ -634,6 +634,17 @@ static void __attribute__((destructor))
*/
#define SCOPED_CHANNELLOCK(varname, chan) SCOPED_LOCK(varname, (chan), ast_channel_lock, ast_channel_unlock)
+#undef pthread_mutex_lock
+#undef pthread_mutex_unlock
+#undef pthread_mutex_trylock
+#undef pthread_mutex_init
+#undef pthread_mutex_destroy
+#undef pthread_cond_init
+#undef pthread_cond_destroy
+#undef pthread_cond_signal
+#undef pthread_cond_broadcast
+#undef pthread_cond_wait
+#undef pthread_cond_timedwait
#ifndef __CYGWIN__ /* temporary disabled for cygwin */
#define pthread_mutex_t use_ast_mutex_t_instead_of_pthread_mutex_t
#define pthread_cond_t use_ast_cond_t_instead_of_pthread_cond_t
@@ -654,7 +665,7 @@ static void __attribute__((destructor))
#define gethostbyname __gethostbyname__is__not__reentrant__use__ast_gethostbyname__instead__
-#ifndef __linux__
+#if !defined(__linux__) && !defined(__DragonFly__)
#define pthread_create __use_ast_pthread_create_instead__
#endif
@@ -676,6 +687,10 @@ int ast_atomic_fetchadd_int_slow(volatil
#include "libkern/OSAtomic.h"
#endif
+#if defined(HAVE_SYS_ATOMIC_H)
+#include <sys/atomic.h>
+#endif
+
/*! \brief Atomically add v to *p and return * the previous value of *p.
* This can be used to handle reference counts, and the return value
* can be used to generate unique identifiers.
@@ -696,6 +711,16 @@ AST_INLINE_API(int ast_atomic_fetchadd_i
{
return OSAtomicAdd64(v, (int64_t *) p) - v;
})
+#elif defined(HAVE_SYS_ATOMIC_H) && (SIZEOF_INT == 4)
+AST_INLINE_API(int ast_atomic_fetchadd_int(volatile int *p, int v),
+{
+ return atomic_add_32_nv((uint32_t *)p, v) - v;
+})
+#elif defined(HAVE_SYS_ATOMIC_H) && (SIZEOF_INT == 8)
+AST_INLINE_API(int ast_atomic_fetchadd_int(volatile int *p, int v),
+{
+ return atomic_add_64_nv((uint64_t *)p, v) - v;
+})
#elif defined (__i386__) || defined(__x86_64__)
#ifdef sun
AST_INLINE_API(int ast_atomic_fetchadd_int(volatile int *p, int v),
@@ -743,6 +768,16 @@ AST_INLINE_API(int ast_atomic_dec_and_te
{
return OSAtomicAdd64( -1, (int64_t *) p) == 0;
})
+#elif defined(HAVE_SYS_ATOMIC_H) && (SIZEOF_INT == 4)
+AST_INLINE_API(int ast_atomic_dec_and_test(volatile int *p),
+{
+ return atomic_dec_32_nv((uint32_t *)p) == 0;
+})
+#elif defined(HAVE_SYS_ATOMIC_H) && (SIZEOF_INT == 8)
+AST_INLINE_API(int ast_atomic_dec_and_test(volatile int *p),
+{
+ return atomic_dec_64_nv((uint64_t *)p) == 0;
+})
#else
AST_INLINE_API(int ast_atomic_dec_and_test(volatile int *p),
{