Travis Cross [Wed, 11 Jun 2014 00:52:12 +0000 (00:52 +0000)]
Retry the cowbuilder create operation on failure
Sometimes while the debian repositories are updating there are
sporadic signature failures. It's annoying to have these break the
build, and the only thing to do is to retry, so we'll retry here
automatically. We were already retrying on the update operation that
can fail in a similar manner.
Travis Cross [Tue, 10 Jun 2014 23:36:56 +0000 (23:36 +0000)]
Check for execv(3) errors when reincarnating
When -reincarnate-reexec is given we run execv to restart FS. If
argv[0] isn't a full pathname then execv is going to fail. While not
common for a FS system started by init, this is a common occurrence
when FS is started from the shell.
Now if execv fails, we'll try execvp. If that fails too then we'll
fall back on the normal reincarnation behavior.
Previously what would happen in that case is god would descend from
the heavens and become mortal. Leaving heaven absent, all hope for
reincarnation was lost.
(That is, we'd simply return from reincarnate_protect and the
supervisor process would become the new instance of FS, so the trick
would only work once.)
Travis Cross [Tue, 10 Jun 2014 22:21:38 +0000 (22:21 +0000)]
Add fsctl command to summon reincarnation
If you start freeswitch with -reincarnate or -reincarnate-reexec, FS
will restart automatically in the event of an unexpected exit.
Currently, you can cause FS to immediately call exit(0) with `fsctl
shutdown now`, or you can have it call abort() with `fsctl crash`.
Which are both nice, but if you have reincarnation engaged, you really
might want FS to call exit([non-zero]) so the great supervisor
immediately breathes life back into your system.
This is now available via `fsctl shutdown reincarnate now`.
For numbers with variable length, there should be a timeout to wait for
further digits before routing the number. This has been prepared with
the skinny-wait target, which waited forever. This patch implements the
digit timeout which routes the call after the timeout has elapsed. The
timeout can be configured in the mod_skinny XML settings
("digit-timeout") and defaults to 2 seconds.
This implementation has been requested and sponsored by Blackned GmbH.
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de> Signed-off-by: Nathan Neulinger <nneul@neulinger.org>
Travis Cross [Wed, 4 Jun 2014 16:04:20 +0000 (16:04 +0000)]
Improve a parameter name for fs_cli
What we momentarily called log-uuid-chars is now better called
log-uuid-length. Setting log-uuid-length will specify a truncation
length for UUIDs displayed by setting log-uuid.
Steve Underwood [Wed, 4 Jun 2014 15:54:03 +0000 (23:54 +0800)]
Fixed a problem in FAX where a received handshake, delayed so much it is
received as we queue a retry, causes the retry frame to remain queued in the
HDLC entity.
Travis Cross [Wed, 4 Jun 2014 11:07:36 +0000 (11:07 +0000)]
Add log-uuid-short option to fs_cli
If log-uuid-short is set, or -S is passed to fs_cli, we only display
the first 8 hex digits of the UUID. The log-uuid-chars option may
instead be set to specify some other truncation length for the UUID.
Modify sofia profile to attempt to bind to the interface up to 3 tries with a 5 second wait between attempts.
Add new profile params bind-attempts and bind-attempt-interval to modify default behavior.
--NEEDSDOCS
Travis Cross [Fri, 30 May 2014 15:40:46 +0000 (15:40 +0000)]
Revert addition of PERL_GCC_PEDANTIC to CFLAGS
Brian and I decided to handle this by just stripping -ansi -pedantic
from the mod_perl build instead.
Revert "Since we can't tell if the system perl was built with
pedantic, we have a problem because we default debug enabled which
uses AX_CFLAGS_WARN_ALL_ANSI, For the GNU CC compiler it will be
-Wall (and -ansi -pedantic) The result is added to the shellvar being
CFLAGS by default. Which then gets included for building mod_perl,
Either way I think this is the correct corse of action to overcome
these new builds of mod_perl."
Brian West [Fri, 30 May 2014 02:13:07 +0000 (21:13 -0500)]
Since we can't tell if the system perl was built with pedantic, we have a problem because we default debug enabled which uses AX_CFLAGS_WARN_ALL_ANSI, For the GNU CC compiler it will be -Wall (and -ansi -pedantic) The result is added to the shellvar being CFLAGS by default. Which then gets included for building mod_perl, Either way I think this is the correct corse of action to overcome these new builds of mod_perl.
Michael Jerris [Thu, 29 May 2014 21:59:21 +0000 (21:59 +0000)]
CID:1174726 Dereference before null check, CID:1214199 Dereference null return value; refactor channel_outgoing_channel to have failure conditions first to reduce indenting level
FS-6513 --resolve This function was assuming the app was being run with execute_on_media so it did not properly check for established media. Now it will use the scheduler method automatically when this state is detected.
Travis Cross [Wed, 28 May 2014 01:32:40 +0000 (01:32 +0000)]
Merge in mod_fifo documentation and refactoring
In this branch we made a pass through the code commenting on and
documenting the most important bits, and cleaning up and refactoring
where possible while maintaining existing behavior.
Thanks to Anthony, Mike, and Brian for explaining some of the history
of and rationale for what's in tree.
Travis Cross [Sun, 25 May 2014 14:48:47 +0000 (14:48 +0000)]
mod_fifo: Fix memory leak of xml structure
If getting the DB handle failed during the load or reload of the
configuration, we would leak the XML structure we just allocated for
the configuration.