Do not abort Asterisk startup if h323 configuration file not found (reported by mithraen)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@51615 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Paul Cadach
2007-01-23 06:51:51 +00:00
parent 5a3acb0511
commit 964d2d2e42
2 changed files with 11 additions and 5 deletions

View File

@@ -100,11 +100,11 @@ chan_alsa.o: busy.h ringtone.h
ifeq ($(OSARCH),linux-gnu)
chan_h323.so: chan_h323.o h323/libchanh323.a h323/Makefile.ast
$(ECHO_PREFIX) echo " [LD] $^ -> $@"
$(CMD_PREFIX) $(CXX) $(SOLINK) $(H323LDFLAGS) -o $@ $< h323/libchanh323.a $(H323LDLIBS)
$(CMD_PREFIX) $(CXX) $(PTHREAD_CFLAGS) $(ASTLDFLAGS) $(SOLINK) $(H323LDFLAGS) -o $@ $< h323/libchanh323.a $(H323LDLIBS)
else
chan_h323.so: chan_h323.o h323/libchanh323.a
$(ECHO_PREFIX) echo " [LD] $^ -> $@"
$(CMD_PREFIX) $(CXX) $(SOLINK) -o $@ $< h323/libchanh323.a $(CHANH323LIB) -L$(PWLIBDIR)/lib $(PTLIB) -L$(OPENH323DIR)/lib $(H323LIB) -L/usr/lib -lcrypto -lssl -lexpat
$(CMD_PREFIX) $(CXX) $(PTHREAD_CFLAGS) $(ASTLDFLAGS) $(SOLINK) -o $@ $< h323/libchanh323.a $(CHANH323LIB) -L$(PWLIBDIR)/lib $(PTLIB) -L$(OPENH323DIR)/lib $(H323LIB) -L/usr/lib -lcrypto -lssl -lexpat
endif
chan_misdn.o: ASTCFLAGS+=-Imisdn

View File

@@ -3091,13 +3091,17 @@ static enum ast_module_load_result load_module(void)
ASTOBJ_CONTAINER_INIT(&aliasl);
res = reload_config(0);
if (res) {
/* No config entry */
ast_log(LOG_NOTICE, "Unload and load chan_h323.so again in order to receive configuration changes.\n");
ast_cli_unregister(&cli_h323_reload);
io_context_destroy(io);
io = NULL;
sched_context_destroy(sched);
sched = NULL;
ASTOBJ_CONTAINER_DESTROY(&userl);
ASTOBJ_CONTAINER_DESTROY(&peerl);
ASTOBJ_CONTAINER_DESTROY(&aliasl);
return /*AST_MODULE_LOAD_DECLINE*/AST_MODULE_LOAD_FAILURE;
return AST_MODULE_LOAD_DECLINE;
} else {
/* Make sure we can register our channel type */
if (ast_channel_register(&oh323_tech)) {
@@ -3227,8 +3231,10 @@ static int unload_module(void)
if (!gatekeeper_disable)
h323_gk_urq();
h323_end_process();
io_context_destroy(io);
sched_context_destroy(sched);
if (io)
io_context_destroy(io);
if (sched)
sched_context_destroy(sched);
ASTOBJ_CONTAINER_DESTROYALL(&userl, oh323_destroy_user);
ASTOBJ_CONTAINER_DESTROY(&userl);