Merged revisions 51615 via svnmerge from
authorPaul Cadach <paul@odt.east.telecom.kz>
Tue, 23 Jan 2007 06:56:26 +0000 (06:56 +0000)
committerPaul Cadach <paul@odt.east.telecom.kz>
Tue, 23 Jan 2007 06:56:26 +0000 (06:56 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r51615 | pcadach | 2007-01-22 22:51:51 -0800 (Пнд, 22 Янв 2007) | 1 line

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@51623 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/Makefile
channels/chan_h323.c

index 7363725..3515532 100644 (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
index 8031327..5de07ab 100644 (file)
@@ -3201,13 +3201,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)) {
@@ -3338,8 +3342,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);