Commit Graph

211 Commits

Author SHA1 Message Date
Michael Giagnocavo 81190c6d89 FS-7644. Fix build on VS2013/Win by creating and forcing nf (nofork) to true. 2015-06-18 04:53:56 -06:00
James Le Cuirot 69ac02bb39 FS-7645: Allow Ctrl+C (SIGINT) when running in foreground without console (-nf -nc) 2015-06-12 13:32:12 +01:00
Mike Jerris a3a9fc69a0 Merge pull request #181 in FS/freeswitch from ~CXREG/freeswitch-memcache-file:base_alt_dir to master
* commit 'ded03004a21a317783b06c6141430007641af7c6':
  FS-7284 allow -base to satisfy "You must specify all or none of -conf, -log, and -db"
2015-02-20 11:23:09 -06:00
William King f4a6e6e363 Remove the FreeSWITCH core handler for SIG_CHLD.
This does not appear to be needed any longer, and while this is in
place a dependent library that tries to start a child process will
hang waiting on the SIG_CHLD signal that the FreeSWITCH core 'ate'.

FS-7250 #resolve
2015-02-17 09:22:34 -08:00
Dave Olszewski ded03004a2 FS-7284 allow -base to satisfy "You must specify all or none of -conf, -log, and -db" 2015-02-14 14:39:11 -08:00
Russell Treleaven ce96d95c5e add support for cache directory
make configs use specific directory variables instead of just base_dir
so that one configuration can be used for fhs and legacy installations
2014-08-31 20:22:08 -04:00
Travis Cross 2cf6fd728c Remove dead assignments in `switch.c` 2014-08-22 01:21:43 +00:00
Travis Cross 4f81e5942a Handle null argv in `switch.c` 2014-08-22 01:09:05 +00:00
Peter Wu 76e6be2fad Fix copy-paste error in '-certs' error message 2014-08-13 18:43:39 +00:00
Ken Rice 8732abef40 test commit hooks, whitespace change only 2014-07-03 08:50:04 -05:00
Travis Cross 13e02278a1 Use portable version of strerror_r()
FS-6596 --resolve
2014-06-16 13:45:39 +00:00
Travis Cross 12da85ef61 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.)
2014-06-10 23:52:36 +00:00
Travis Cross b9b5b0d827 Avoid dead assignment of return value of execv
execv(3) only returns on error, and will always return -1 in that
case.
2014-04-30 22:33:24 +00:00
Michael Jerris ef18915ca5 make sure old_pid_buffer is null terminated 2014-04-30 16:36:14 -04:00
Michael Jerris e7107f616f if we can't open /dev/null, you have much bigger issues to deal with 2014-04-28 16:02:39 -04:00
Ken Rice 6e7d5d0897 update copyright header for 2014 2014-02-12 12:08:56 -06:00
Anthony Minessale 8dfbd91a3d fold version macros into runtime functions to avoid cascade rebuilds when modifying the core 2014-01-17 01:54:47 +05:00
Seven Du 07d009537f FreeSWITCH will choose the right system defaults for you 2013-09-26 03:44:37 +08:00
Anthony Minessale 28a58f5436 add -certs command line switch 2013-07-30 19:37:25 +05:00
Travis Cross 1ab16bbd92 Kill FS if -reincarnate parent dies unexpectedly
This only works on Linux.
2013-07-26 17:30:05 +00:00
Travis Cross 9959096559 Handle signals better with -reincarnate
If we receive SIGTERM or SIGILL we should propagate the signal to the
child FS process.  As FS normally handles these signals, we need to
restore the handler before we refork.

FS may also add a handler for SIGCHLD; we need the default action
here instead for the parent.
2013-07-26 17:30:03 +00:00
Travis Cross 9fc3990e04 Add -reincarnate flag to FS
When FS is given the -reincarnate flag, FS will be automatically
restarted after any uncontrolled exit.
2013-07-26 17:30:01 +00:00
Nathan Neulinger 32adc789f6 make noexpandtab explicit in all vim modelines other than xml files 2013-06-25 11:50:17 -05:00
Anthony Minessale 3ac4e77384 FS-5519 --resolve 2013-06-17 19:43:24 -05:00
Anthony Minessale 506768aa6d skip reforking with ulimit code on 64 bit 2013-04-22 13:42:35 -05:00
Anthony Minessale f0dd0ef7b1 FS-5332 --resolve 2013-04-22 13:26:19 -05:00
Anthony Minessale 6e8b5428c1 FS-5238 2013-04-22 12:55:04 -05:00
Anthony Minessale ab5a0afb43 FS-5238 revert 2013-04-22 08:51:10 -05:00
Anthony Minessale bf607b0d91 FS-5319 --resolve 2013-04-17 15:33:27 -05:00
Anthony Minessale e3ac7c50ac FS-5238 --resolve 2013-03-27 16:50:10 -05:00
Jeff Lenk dc2c11f13f FS-4768 initial add of vs2012 build support 2012-12-29 14:57:15 -06:00
Anthony Minessale 52eff9451c wrap fork so we can drop priority in child processes 2012-10-01 13:38:45 -05:00
Travis Cross 72baa97369 Condense the humanized FS version string
Old:
FreeSWITCH Version 1.3.0+git~20120916T192130Z~3b5aa066c7 (1.3.0; git at commit 3b5aa066c7 on Sun, 16 Sep 2012 19:21:30 Z)

New:
FreeSWITCH Version 1.3.0+git~20120916T192130Z~3b5aa066c7 (git 3b5aa06 2012-09-16 19:21:30Z)
2012-09-23 04:13:04 +00:00
Travis Cross a8019d803c Make version output more human-friendly
Our main version string is designed for release engineering purposes:
it matches file name conventions used for versioned tarballs and the
versions sort lexicographically while containing all pertinent
information.

With this commit we add in parentheses a more human-friendly rendering
of the version string: we spell out the meaning of each field and
render the datetime in RFC 822 notation.
2012-07-20 07:43:26 +00:00
Stefan Knoblich d141de28ea freeswitch: Add -base cmdline option.
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-12 19:52:00 +02:00
Stefan Knoblich 435f28cefb FreeSWITCH: Fix copy&paste error in -storage cmdline option handling.
"htdocs_dir" -> "storage_dir"

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-12 10:03:14 +02:00
Jeff Lenk 91236c9ad3 fix build related issues on windows - trivial 2012-07-11 07:52:20 -05:00
Stefan Knoblich 07e9467d35 freeswitch: Add more cmdline options to control file locations.
Setting the base_dir variable didn't work so this will have to be
enough for now.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-11 11:08:24 +02:00
Stefan Knoblich aeb4b31063 freeswitch: Show user/group name in error message if change_user_group() fails.
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-11 11:08:24 +02:00
Stefan Knoblich edfbbb127c freeswitch: Create struct rlimit rlp where it is needed (move down into block scope).
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-11 11:08:24 +02:00
Stefan Knoblich 93a429fc11 freeswitch: Whitespace clean up in switch.c.
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-11 11:08:24 +02:00
Stefan Knoblich b494d46f45 freeswitch: Clean up daemonize().
Whitespace and indentation clean up.

Use EXIT_SUCESS/_FAILURE.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-11 11:08:24 +02:00
Stefan Knoblich f9d0e249a1 freeswitch: Rework option handling in main() and other clean ups.
Use a chain of "else if" statements, drop known_opt completely.
Added bonus: We stop trying to parse option arguments as (possible) options.

Arguments of -u/-g and path options (-conf) now check whether their argument
starts with a dash ('-') and error out in case it does (= next option, not a valid argument).

Use PATH_MAX for everything that stores files / directories.

Use switch_bool_t and SWITCH_TRUE/_FALSE for boolean variables.

Use EXIT_SUCCESS/_FAILURE for exit() calls.

Get rid of excessive indenting (especially in the win32 parts of main()).

NOTE: Win32 parts untested.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-11 11:08:23 +02:00
Stefan Knoblich 659ea9f117 freeswitch: Move usage description out of main() and improve cmdline option handling.
Move empty cmdline option string check and "-help/-h/-?" handling to top of loop.

Emit a proper error message for unknown options. (Just displaying the
usage description, but not telling the user which option was wrong, is bad mojo).

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-11 11:08:23 +02:00
Stefan Knoblich d6a395b642 freeswitch: Use switch_strlen_zero() to check for empty strings.
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-11 11:08:23 +02:00
Anthony Minessale 4654bda84a FS-4374 try this: it will set the stack size for the whole app to 240 if its too big or too small, if there are system limits, fs may have to be run as root and drop privs to be allowed to change this setting 2012-07-02 11:20:05 -05:00
Anthony Minessale c608ca35d8 don't print ASS 2012-06-13 11:29:14 -05:00
Jeff Lenk 021f48d02e FS-4169 --resolve compiler warning for solaris 2012-05-17 10:28:51 -05:00
Ken Rice c5554eb939 Copyright date update. 2012-04-18 11:52:02 -05:00
Jeff Lenk e6963e34bb FS-4127 --resolve 2012-04-18 09:17:52 -05:00