mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-02-09 09:17:34 +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.)
…
…
…
…
Description
FreeSWITCH is a Software Defined Telecom Stack enabling the digital transformation from proprietary telecom switches to a versatile software implementation that runs on any commodity hardware. From a Raspberry PI to a multi-core server, FreeSWITCH can unl
Multiple Licenses
268 MiB
Languages
C
64.4%
C++
21.8%
JavaScript
4.7%
Assembly
2%
Makefile
1%
Other
5.4%