]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 196721 via svnmerge from
authorJoshua Colp <jcolp@digium.com>
Tue, 26 May 2009 13:46:38 +0000 (13:46 +0000)
committerJoshua Colp <jcolp@digium.com>
Tue, 26 May 2009 13:46:38 +0000 (13:46 +0000)
https://origsvn.digium.com/svn/asterisk/trunk

........
  r196721 | file | 2009-05-26 10:43:13 -0300 (Tue, 26 May 2009) | 7 lines

  Fix a bug where the sip unregister CLI command did not completely unregister the peer.

  (closes issue #15118)
  Reported by: alecdavis
  Patches:
        chan_sip_unregister.diff2.txt uploaded by alecdavis (license 585)
........

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

channels/chan_sip.c

index 8e385ffce56a28b1645617ea62977b1a93a4ade0..203edd58b29b4c2c8c2cde2b4f473bd4fd273ff4 100644 (file)
@@ -14178,6 +14178,8 @@ static char *sip_unregister(struct ast_cli_entry *e, int cmd, struct ast_cli_arg
        
        if ((peer = find_peer(a->argv[2], NULL, load_realtime, FINDPEERS, TRUE))) {
                if (peer->expire > 0) {
+                       AST_SCHED_DEL_UNREF(sched, peer->expire,
+                               unref_peer(peer, "remove register expire ref"));
                        expire_register(ref_peer(peer, "ref for expire_register"));
                        ast_cli(a->fd, "Unregistered peer \'%s\'\n\n", a->argv[2]);
                } else {