[asterisk-commits] seanbright: branch seanbright/solaris-10-1.4 r236637 - in /team/seanbright/so...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Mon Dec 28 10:06:44 CST 2009
Author: seanbright
Date: Mon Dec 28 10:06:42 2009
New Revision: 236637
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=236637
Log:
Merged revisions 235940,236062,236184,236261,236357,236433,236509,236585 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r235940 | jpeeler | 2009-12-21 14:43:41 -0500 (Mon, 21 Dec 2009) | 13 lines
Change Monitor to not assume file to write to does not contain pathing.
227944 changed the fname_base argument to always append the configured monitor
path. This change was necessary to properly compare files for uniqueness.
If a full path is given though, nothing needs to be appended and that is
handled correctly now.
(closes issue #16377)
(closes issue #16376)
Reported by: bcnit
Patches:
res_monitor.c-issue16376-1.patch uploaded by dant (license 670)
........
r236062 | dvossel | 2009-12-22 11:58:19 -0500 (Tue, 22 Dec 2009) | 11 lines
fixes issue with p->method incorrectly set to ACK
It is possible for a second ACK to come in for a retransmitted message.
If an ack does not match an unacked message in our queue, restore the previous
p->method as this ACK is completely ignored.
(closes issue #16295)
Reported by: omolenkamp
Patches:
issue16295_v2.diff uploaded by dvossel (license 671)
........
r236184 | tilghman | 2009-12-22 21:55:24 -0500 (Tue, 22 Dec 2009) | 4 lines
If EXEC only gets a single argument, don't crash when the second is used.
(closes issue #16504)
Reported by: bklang
........
r236261 | mnicholson | 2009-12-23 10:21:28 -0500 (Wed, 23 Dec 2009) | 8 lines
Properly set T.38 attributes and don't return before T.38 ports are configured when T.38 is found but no audio stream is found.
(closes issue #16318)
Reported by: bird_of_Luck
Patches:
t38-sdp-parsing-fix3.diff uploaded by mnicholson (license 96), written by vrban and mnicholson
Tested by: vrban, mihaill
........
r236357 | kpfleming | 2009-12-26 10:26:17 -0500 (Sat, 26 Dec 2009) | 1 line
update to latest releases with zero uid/gid
........
r236433 | tilghman | 2009-12-27 13:19:38 -0500 (Sun, 27 Dec 2009) | 2 lines
Turn on colors in the daemon, since there's many requests for it on Ubuntu.
........
r236509 | seanbright | 2009-12-28 07:43:36 -0500 (Mon, 28 Dec 2009) | 12 lines
Avoid a crash with large numbers of MeetMe conferences.
Similar to changes made to Queue(), when we have large numbers of conferences in
meetme.conf (1000s) and we use alloca()/strdupa(), we can blow out the stack and
crash, so instead just use a single fixed buffer.
(closes issue #16509)
Reported by: Kashif Raza
Patches:
20091223_16509.patch uploaded by seanbright (license 71)
Tested by: seanbright
........
r236585 | seanbright | 2009-12-28 10:12:08 -0500 (Mon, 28 Dec 2009) | 7 lines
Try a test compile to see if PTHREAD_ONCE_INIT requires extra braces.
There was conditional code (based on build platform) to optioinally wrap
PTHREAD_ONCE_INIT in braces that was removed since it is fixed in newer versions
of Solaris/OpenSolaris, but I am still running into it on Solaris 10 x86 so add
a configure-time check for it.
........
Modified:
team/seanbright/solaris-10-1.4/ (props changed)
team/seanbright/solaris-10-1.4/apps/app_meetme.c
team/seanbright/solaris-10-1.4/channels/chan_sip.c
team/seanbright/solaris-10-1.4/configure
team/seanbright/solaris-10-1.4/configure.ac
team/seanbright/solaris-10-1.4/contrib/init.d/rc.debian.asterisk
team/seanbright/solaris-10-1.4/include/asterisk/autoconfig.h.in
team/seanbright/solaris-10-1.4/include/asterisk/threadstorage.h
team/seanbright/solaris-10-1.4/res/res_agi.c
team/seanbright/solaris-10-1.4/res/res_monitor.c
team/seanbright/solaris-10-1.4/sounds/Makefile
Propchange: team/seanbright/solaris-10-1.4/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Mon Dec 28 10:06:42 2009
@@ -1,1 +1,1 @@
-/branches/1.4:1-235822
+/branches/1.4:1-236636
Modified: team/seanbright/solaris-10-1.4/apps/app_meetme.c
URL: http://svnview.digium.com/svn/asterisk/team/seanbright/solaris-10-1.4/apps/app_meetme.c?view=diff&rev=236637&r1=236636&r2=236637
==============================================================================
--- team/seanbright/solaris-10-1.4/apps/app_meetme.c (original)
+++ team/seanbright/solaris-10-1.4/apps/app_meetme.c Mon Dec 28 10:06:42 2009
@@ -318,6 +318,9 @@
#define MAX_CONFNUM 80
#define MAX_PIN 80
+
+/* Enough space for "<conference #>,<pin>,<admin pin>" followed by a 0 byte. */
+#define MAX_SETTINGS (MAX_CONFNUM + MAX_PIN + MAX_PIN + 3)
enum announcetypes {
CONF_HASJOIN,
@@ -2563,7 +2566,6 @@
struct ast_config *cfg;
struct ast_variable *var;
struct ast_conference *cnf;
- char *parse;
AST_DECLARE_APP_ARGS(args,
AST_APP_ARG(confno);
AST_APP_ARG(pin);
@@ -2602,13 +2604,15 @@
ast_log(LOG_WARNING, "No %s file :(\n", CONFIG_FILE_NAME);
return NULL;
}
+
for (var = ast_variable_browse(cfg, "rooms"); var; var = var->next) {
+ char parse[MAX_SETTINGS];
+
if (strcasecmp(var->name, "conf"))
continue;
-
- if (!(parse = ast_strdupa(var->value)))
- return NULL;
-
+
+ ast_copy_string(parse, var->value, sizeof(parse));
+
AST_NONSTANDARD_APP_ARGS(args, parse, ',');
if (!strcasecmp(args.confno, confno)) {
/* Bingo it's a valid conference */
@@ -2774,33 +2778,32 @@
if (cfg) {
var = ast_variable_browse(cfg, "rooms");
while (var) {
+ char parse[MAX_SETTINGS], *stringp = parse, *confno_tmp;
if (!strcasecmp(var->name, "conf")) {
- char *stringp = ast_strdupa(var->value);
- if (stringp) {
- char *confno_tmp = strsep(&stringp, "|,");
- int found = 0;
- if (!dynamic) {
- /* For static: run through the list and see if this conference is empty */
- AST_LIST_LOCK(&confs);
- AST_LIST_TRAVERSE(&confs, cnf, list) {
- if (!strcmp(confno_tmp, cnf->confno)) {
- /* The conference exists, therefore it's not empty */
- found = 1;
- break;
- }
+ int found = 0;
+ ast_copy_string(parse, var->value, sizeof(parse));
+ confno_tmp = strsep(&stringp, "|,");
+ if (!dynamic) {
+ /* For static: run through the list and see if this conference is empty */
+ AST_LIST_LOCK(&confs);
+ AST_LIST_TRAVERSE(&confs, cnf, list) {
+ if (!strcmp(confno_tmp, cnf->confno)) {
+ /* The conference exists, therefore it's not empty */
+ found = 1;
+ break;
}
- AST_LIST_UNLOCK(&confs);
- if (!found) {
- /* At this point, we have a confno_tmp (static conference) that is empty */
- if ((empty_no_pin && ast_strlen_zero(stringp)) || (!empty_no_pin)) {
- /* Case 1: empty_no_pin and pin is nonexistent (NULL)
- * Case 2: empty_no_pin and pin is blank (but not NULL)
- * Case 3: not empty_no_pin
- */
- ast_copy_string(confno, confno_tmp, sizeof(confno));
- break;
- /* XXX the map is not complete (but we do have a confno) */
- }
+ }
+ AST_LIST_UNLOCK(&confs);
+ if (!found) {
+ /* At this point, we have a confno_tmp (static conference) that is empty */
+ if ((empty_no_pin && ast_strlen_zero(stringp)) || (!empty_no_pin)) {
+ /* Case 1: empty_no_pin and pin is nonexistent (NULL)
+ * Case 2: empty_no_pin and pin is blank (but not NULL)
+ * Case 3: not empty_no_pin
+ */
+ ast_copy_string(confno, confno_tmp, sizeof(confno));
+ break;
+ /* XXX the map is not complete (but we do have a confno) */
}
}
}
Modified: team/seanbright/solaris-10-1.4/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/team/seanbright/solaris-10-1.4/channels/chan_sip.c?view=diff&rev=236637&r1=236636&r2=236637
==============================================================================
--- team/seanbright/solaris-10-1.4/channels/chan_sip.c (original)
+++ team/seanbright/solaris-10-1.4/channels/chan_sip.c Mon Dec 28 10:06:42 2009
@@ -5619,6 +5619,12 @@
ast_rtp_lookup_mime_multiple(s1, SIPBUFSIZE, p->noncodeccapability, 0, 0),
ast_rtp_lookup_mime_multiple(s2, SIPBUFSIZE, peernoncodeccapability, 0, 0),
ast_rtp_lookup_mime_multiple(s3, SIPBUFSIZE, newnoncodeccapability, 0, 0));
+
+ ast_log(LOG_DEBUG, "Our T38 capability = (%d), peer T38 capability (%d), joint T38 capability (%d)\n",
+ p->t38.capability,
+ p->t38.peercapability,
+ p->t38.jointcapability);
+
}
if (!newjointcapability) {
/* If T.38 was not negotiated either, totally bail out... */
@@ -5629,7 +5635,6 @@
} else {
if (option_debug > 2)
ast_log(LOG_DEBUG, "Have T.38 but no audio codecs, accepting offer anyway\n");
- return 0;
}
}
@@ -5903,10 +5908,8 @@
static int process_sdp_a_image(const char *a, struct sip_pvt *p)
{
int found = FALSE;
- int peert38capability = 0;
char s[256];
int x;
- int debug = sip_debug_test_pvt(p);
/* Scan trough the a= lines for T38 attributes and set apropriate fileds */
if ((sscanf(a, "T38FaxMaxBuffer:%30d", &x) == 1)) {
@@ -5919,22 +5922,22 @@
ast_log(LOG_DEBUG,"T38MaxBitRate: %d\n",x);
switch (x) {
case 14400:
- peert38capability |= T38FAX_RATE_14400 | T38FAX_RATE_12000 | T38FAX_RATE_9600 | T38FAX_RATE_7200 | T38FAX_RATE_4800 | T38FAX_RATE_2400;
+ p->t38.peercapability |= T38FAX_RATE_14400 | T38FAX_RATE_12000 | T38FAX_RATE_9600 | T38FAX_RATE_7200 | T38FAX_RATE_4800 | T38FAX_RATE_2400;
break;
case 12000:
- peert38capability |= T38FAX_RATE_12000 | T38FAX_RATE_9600 | T38FAX_RATE_7200 | T38FAX_RATE_4800 | T38FAX_RATE_2400;
+ p->t38.peercapability |= T38FAX_RATE_12000 | T38FAX_RATE_9600 | T38FAX_RATE_7200 | T38FAX_RATE_4800 | T38FAX_RATE_2400;
break;
case 9600:
- peert38capability |= T38FAX_RATE_9600 | T38FAX_RATE_7200 | T38FAX_RATE_4800 | T38FAX_RATE_2400;
+ p->t38.peercapability |= T38FAX_RATE_9600 | T38FAX_RATE_7200 | T38FAX_RATE_4800 | T38FAX_RATE_2400;
break;
case 7200:
- peert38capability |= T38FAX_RATE_7200 | T38FAX_RATE_4800 | T38FAX_RATE_2400;
+ p->t38.peercapability |= T38FAX_RATE_7200 | T38FAX_RATE_4800 | T38FAX_RATE_2400;
break;
case 4800:
- peert38capability |= T38FAX_RATE_4800 | T38FAX_RATE_2400;
+ p->t38.peercapability |= T38FAX_RATE_4800 | T38FAX_RATE_2400;
break;
case 2400:
- peert38capability |= T38FAX_RATE_2400;
+ p->t38.peercapability |= T38FAX_RATE_2400;
break;
}
} else if ((sscanf(a, "T38FaxVersion:%30d", &x) == 1)) {
@@ -5942,9 +5945,9 @@
if (option_debug > 2)
ast_log(LOG_DEBUG, "FaxVersion: %d\n",x);
if (x == 0)
- peert38capability |= T38FAX_VERSION_0;
+ p->t38.peercapability |= T38FAX_VERSION_0;
else if (x == 1)
- peert38capability |= T38FAX_VERSION_1;
+ p->t38.peercapability |= T38FAX_VERSION_1;
} else if ((sscanf(a, "T38FaxMaxDatagram:%30d", &x) == 1) || (sscanf(a, "T38MaxDatagram:%30d", &x) == 1)) {
found = TRUE;
if (option_debug > 2)
@@ -5957,11 +5960,11 @@
if (option_debug > 2)
ast_log(LOG_DEBUG, "FillBitRemoval: %d\n",x);
if (x == 1)
- peert38capability |= T38FAX_FILL_BIT_REMOVAL;
+ p->t38.peercapability |= T38FAX_FILL_BIT_REMOVAL;
} else {
if (option_debug > 2)
ast_log(LOG_DEBUG, "FillBitRemoval\n");
- peert38capability |= T38FAX_FILL_BIT_REMOVAL;
+ p->t38.peercapability |= T38FAX_FILL_BIT_REMOVAL;
}
} else if ((strncmp(a, "T38FaxTranscodingMMR", 20) == 0)) {
found = TRUE;
@@ -5969,11 +5972,11 @@
if (option_debug > 2)
ast_log(LOG_DEBUG, "Transcoding MMR: %d\n",x);
if (x == 1)
- peert38capability |= T38FAX_TRANSCODING_MMR;
+ p->t38.peercapability |= T38FAX_TRANSCODING_MMR;
} else {
if (option_debug > 2)
ast_log(LOG_DEBUG, "Transcoding MMR\n");
- peert38capability |= T38FAX_TRANSCODING_MMR;
+ p->t38.peercapability |= T38FAX_TRANSCODING_MMR;
}
} else if ((strncmp(a, "T38FaxTranscodingJBIG", 21) == 0)) {
found = TRUE;
@@ -5981,47 +5984,42 @@
if (option_debug > 2)
ast_log(LOG_DEBUG, "Transcoding JBIG: %d\n",x);
if (x == 1)
- peert38capability |= T38FAX_TRANSCODING_JBIG;
+ p->t38.peercapability |= T38FAX_TRANSCODING_JBIG;
} else {
if (option_debug > 2)
ast_log(LOG_DEBUG, "Transcoding JBIG\n");
- peert38capability |= T38FAX_TRANSCODING_JBIG;
+ p->t38.peercapability |= T38FAX_TRANSCODING_JBIG;
}
} else if ((sscanf(a, "T38FaxRateManagement:%255s", s) == 1)) {
found = TRUE;
if (option_debug > 2)
ast_log(LOG_DEBUG, "RateManagement: %s\n", s);
if (!strcasecmp(s, "localTCF"))
- peert38capability |= T38FAX_RATE_MANAGEMENT_LOCAL_TCF;
+ p->t38.peercapability |= T38FAX_RATE_MANAGEMENT_LOCAL_TCF;
else if (!strcasecmp(s, "transferredTCF"))
- peert38capability |= T38FAX_RATE_MANAGEMENT_TRANSFERED_TCF;
+ p->t38.peercapability |= T38FAX_RATE_MANAGEMENT_TRANSFERED_TCF;
} else if ((sscanf(a, "T38FaxUdpEC:%255s", s) == 1)) {
found = TRUE;
if (option_debug > 2)
ast_log(LOG_DEBUG, "UDP EC: %s\n", s);
if (!strcasecmp(s, "t38UDPRedundancy")) {
- peert38capability |= T38FAX_UDP_EC_REDUNDANCY;
+ p->t38.peercapability |= T38FAX_UDP_EC_REDUNDANCY;
ast_udptl_set_error_correction_scheme(p->udptl, UDPTL_ERROR_CORRECTION_REDUNDANCY);
} else if (!strcasecmp(s, "t38UDPFEC")) {
- peert38capability |= T38FAX_UDP_EC_FEC;
+ p->t38.peercapability |= T38FAX_UDP_EC_FEC;
ast_udptl_set_error_correction_scheme(p->udptl, UDPTL_ERROR_CORRECTION_FEC);
} else {
- peert38capability |= T38FAX_UDP_EC_NONE;
+ p->t38.peercapability |= T38FAX_UDP_EC_NONE;
ast_udptl_set_error_correction_scheme(p->udptl, UDPTL_ERROR_CORRECTION_NONE);
}
}
if (found) { /* Some cisco equipment returns nothing beside c= and m= lines in 200 OK T38 SDP */
- p->t38.peercapability = peert38capability;
- p->t38.jointcapability = (peert38capability & 255); /* Put everything beside supported speeds settings */
- peert38capability &= (T38FAX_RATE_14400 | T38FAX_RATE_12000 | T38FAX_RATE_9600 | T38FAX_RATE_7200 | T38FAX_RATE_4800 | T38FAX_RATE_2400);
- p->t38.jointcapability |= (peert38capability & p->t38.capability); /* Put the lower of our's and peer's speed */
- }
- if (debug)
- ast_log(LOG_DEBUG, "Our T38 capability = (%d), peer T38 capability (%d), joint T38 capability (%d)\n",
- p->t38.capability,
- p->t38.peercapability,
- p->t38.jointcapability);
+ int t38speed = p->t38.peercapability & (T38FAX_RATE_14400 | T38FAX_RATE_12000 | T38FAX_RATE_9600 | T38FAX_RATE_7200 | T38FAX_RATE_4800 | T38FAX_RATE_2400);
+
+ p->t38.jointcapability = (p->t38.peercapability & 255); /* Put everything beside supported speeds settings */
+ p->t38.jointcapability |= (t38speed & p->t38.capability); /* Put the lower of our's and peer's speed */
+ }
return found;
}
@@ -16387,6 +16385,8 @@
int debug = sip_debug_test_pvt(p);
char *e;
int error = 0;
+ int oldmethod = p->method;
+ int acked = 0;
/* Get Method and Cseq */
cseq = get_header(req, "Cseq");
@@ -16563,7 +16563,7 @@
if (seqno == p->pendinginvite) {
p->invitestate = INV_TERMINATED;
p->pendinginvite = 0;
- __sip_ack(p, seqno, FLAG_RESPONSE, 0);
+ acked = __sip_ack(p, seqno, FLAG_RESPONSE, 0);
if (find_sdp(req)) {
if (process_sdp(p, req))
return -1;
@@ -16572,7 +16572,12 @@
} else if (p->glareinvite == seqno) {
/* handle ack for the 491 pending send for glareinvite */
p->glareinvite = 0;
- __sip_ack(p, seqno, 1, 0);
+ acked = __sip_ack(p, seqno, 1, 0);
+ }
+ if (!acked) {
+ /* Got an ACK that did not match anything. Ignore
+ * silently and restore previous method */
+ p->method = oldmethod;
}
/* Got an ACK that we did not match. Ignore silently */
if (!p->lastinvite && ast_strlen_zero(p->randdata))
Modified: team/seanbright/solaris-10-1.4/configure.ac
URL: http://svnview.digium.com/svn/asterisk/team/seanbright/solaris-10-1.4/configure.ac?view=diff&rev=236637&r1=236636&r2=236637
==============================================================================
--- team/seanbright/solaris-10-1.4/configure.ac (original)
+++ team/seanbright/solaris-10-1.4/configure.ac Mon Dec 28 10:06:42 2009
@@ -356,6 +356,26 @@
LDFLAGS="${saved_LDFLAGS}"
if test "${ac_cv_pthread_rwlock_timedwrlock}" = "yes"; then
AC_DEFINE([HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK], 1, [Define if your system has pthread_rwlock_timedwrlock()])
+fi
+
+AC_MSG_CHECKING(if PTHREAD_ONCE_INIT needs braces)
+saved_CFLAGS="${CFLAGS}"
+CFLAGS="${CFLAGS} -Werror -Wmissing-braces"
+AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [#include <pthread.h>],
+ [pthread_once_t once = PTHREAD_ONCE_INIT;])
+ ],[
+ AC_MSG_RESULT(no)
+ ac_cv_pthread_once_needsbraces="no"
+ ],[
+ AC_MSG_RESULT(yes)
+ ac_cv_pthread_once_needsbraces="yes"
+ ]
+)
+CFLAGS="${saved_CFLAGS}"
+if test "${ac_cv_pthread_once_needsbraces}" = "yes"; then
+ AC_DEFINE([PTHREAD_ONCE_INIT_NEEDS_BRACES], 1, [Define if your system needs braces around PTHREAD_ONCE_INIT])
fi
AC_MSG_CHECKING(for compiler atomic operations)
Modified: team/seanbright/solaris-10-1.4/contrib/init.d/rc.debian.asterisk
URL: http://svnview.digium.com/svn/asterisk/team/seanbright/solaris-10-1.4/contrib/init.d/rc.debian.asterisk?view=diff&rev=236637&r1=236636&r2=236637
==============================================================================
--- team/seanbright/solaris-10-1.4/contrib/init.d/rc.debian.asterisk (original)
+++ team/seanbright/solaris-10-1.4/contrib/init.d/rc.debian.asterisk Mon Dec 28 10:06:42 2009
@@ -35,6 +35,10 @@
#AST_USER="asterisk"
#AST_GROUP="asterisk"
+# If you DON'T want Asterisk to start up with terminal colors, comment
+# this out.
+COLOR=yes
+
set -e
if ! [ -x $DAEMON ] ; then
@@ -68,7 +72,12 @@
ASTARGS="$ASTARGS -G $AST_GROUP"
fi
# "start-stop-daemon --oknodo" returns 0 even if Asterisk was already running (as LSB expects):
- start-stop-daemon --start --oknodo --exec $DAEMON -- $ASTARGS
+ if test "x$COLOR" = "xyes" ; then
+ export TERM=linux
+ start-stop-daemon --start --oknodo --background --exec $DAEMON -- $ASTARGS -c
+ else
+ start-stop-daemon --start --oknodo --exec $DAEMON -- $ASTARGS
+ fi
log_end_msg $?
;;
stop)
Modified: team/seanbright/solaris-10-1.4/include/asterisk/autoconfig.h.in
URL: http://svnview.digium.com/svn/asterisk/team/seanbright/solaris-10-1.4/include/asterisk/autoconfig.h.in?view=diff&rev=236637&r1=236636&r2=236637
==============================================================================
--- team/seanbright/solaris-10-1.4/include/asterisk/autoconfig.h.in (original)
+++ team/seanbright/solaris-10-1.4/include/asterisk/autoconfig.h.in Mon Dec 28 10:06:42 2009
@@ -655,6 +655,9 @@
/* Define to necessary symbol if this constant uses a non-standard name on
your system. */
#undef PTHREAD_CREATE_JOINABLE
+
+/* Define if your system needs braces around PTHREAD_ONCE_INIT */
+#undef PTHREAD_ONCE_INIT_NEEDS_BRACES
/* Define as the return type of signal handlers (`int' or `void'). */
#undef RETSIGTYPE
Modified: team/seanbright/solaris-10-1.4/include/asterisk/threadstorage.h
URL: http://svnview.digium.com/svn/asterisk/team/seanbright/solaris-10-1.4/include/asterisk/threadstorage.h?view=diff&rev=236637&r1=236636&r2=236637
==============================================================================
--- team/seanbright/solaris-10-1.4/include/asterisk/threadstorage.h (original)
+++ team/seanbright/solaris-10-1.4/include/asterisk/threadstorage.h Mon Dec 28 10:06:42 2009
@@ -67,11 +67,17 @@
#define AST_THREADSTORAGE(name, name_init) \
AST_THREADSTORAGE_CUSTOM(name, name_init, ast_free_ptr)
+#if defined(PTHREAD_ONCE_INIT_NEEDS_BRACES)
+# define AST_PTHREAD_ONCE_INIT { PTHREAD_ONCE_INIT }
+#else
+# define AST_PTHREAD_ONCE_INIT PTHREAD_ONCE_INIT
+#endif
+
#if !defined(DEBUG_THREADLOCALS)
#define AST_THREADSTORAGE_CUSTOM(name, name_init, cleanup) \
static void name_init(void); \
static struct ast_threadstorage name = { \
- .once = PTHREAD_ONCE_INIT, \
+ .once = AST_PTHREAD_ONCE_INIT, \
.key_init = name_init, \
}; \
static void name_init(void) \
@@ -82,7 +88,7 @@
#define AST_THREADSTORAGE_CUSTOM(name, name_init, cleanup) \
static void name_init(void); \
static struct ast_threadstorage name = { \
- .once = PTHREAD_ONCE_INIT, \
+ .once = AST_PTHREAD_ONCE_INIT, \
.key_init = name_init, \
}; \
static void __cleanup_##name(void *data) \
Modified: team/seanbright/solaris-10-1.4/res/res_agi.c
URL: http://svnview.digium.com/svn/asterisk/team/seanbright/solaris-10-1.4/res/res_agi.c?view=diff&rev=236637&r1=236636&r2=236637
==============================================================================
--- team/seanbright/solaris-10-1.4/res/res_agi.c (original)
+++ team/seanbright/solaris-10-1.4/res/res_agi.c Mon Dec 28 10:06:42 2009
@@ -1140,7 +1140,7 @@
if(!strcasecmp(argv[1], PARK_APP_NAME)) {
ast_masq_park_call(chan, NULL, 0, NULL);
}
- res = pbx_exec(chan, app, argv[2]);
+ res = pbx_exec(chan, app, argc == 2 ? "" : argv[2]);
} else {
ast_log(LOG_WARNING, "Could not find application (%s)\n", argv[1]);
res = -2;
Modified: team/seanbright/solaris-10-1.4/res/res_monitor.c
URL: http://svnview.digium.com/svn/asterisk/team/seanbright/solaris-10-1.4/res/res_monitor.c?view=diff&rev=236637&r1=236636&r2=236637
==============================================================================
--- team/seanbright/solaris-10-1.4/res/res_monitor.c (original)
+++ team/seanbright/solaris-10-1.4/res/res_monitor.c Mon Dec 28 10:06:42 2009
@@ -169,8 +169,8 @@
directory ? "" : ast_config_AST_MONITOR_DIR, absolute, fname_base);
snprintf(monitor->write_filename, FILENAME_MAX, "%s%s%s-out",
directory ? "" : ast_config_AST_MONITOR_DIR, absolute, fname_base);
- snprintf(monitor->filename_base, FILENAME_MAX, "%s/%s",
- ast_config_AST_MONITOR_DIR, fname_base);
+ snprintf(monitor->filename_base, FILENAME_MAX, "%s%s%s",
+ directory ? "" : ast_config_AST_MONITOR_DIR, absolute, fname_base);
} else {
ast_mutex_lock(&monitorlock);
snprintf(monitor->read_filename, FILENAME_MAX, "%s/audio-in-%ld",
Modified: team/seanbright/solaris-10-1.4/sounds/Makefile
URL: http://svnview.digium.com/svn/asterisk/team/seanbright/solaris-10-1.4/sounds/Makefile?view=diff&rev=236637&r1=236636&r2=236637
==============================================================================
--- team/seanbright/solaris-10-1.4/sounds/Makefile (original)
+++ team/seanbright/solaris-10-1.4/sounds/Makefile Mon Dec 28 10:06:42 2009
@@ -18,8 +18,8 @@
PWD:=$(shell pwd)
SOUNDS_DIR:=$(DESTDIR)$(ASTDATADIR)/sounds
MOH_DIR:=$(DESTDIR)$(ASTDATADIR)/moh
-CORE_SOUNDS_VERSION:=1.4.16
-EXTRA_SOUNDS_VERSION:=1.4.9
+CORE_SOUNDS_VERSION:=1.4.17
+EXTRA_SOUNDS_VERSION:=1.4.10
SOUNDS_URL:=http://downloads.asterisk.org/pub/telephony/sounds/releases
MCS:=$(subst -EN-,-en-,$(MENUSELECT_CORE_SOUNDS))
MCS:=$(subst -FR-,-fr-,$(MCS))
More information about the asterisk-commits
mailing list