aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authorautomerge <automerge@f38db490-d61c-443f-a65b-d21fe96a405b>2007-07-06 16:27:34 +0000
committerautomerge <automerge@f38db490-d61c-443f-a65b-d21fe96a405b>2007-07-06 16:27:34 +0000
commit4b7f476b07a32bebf3288e7726ab1bfe28a1cd65 (patch)
tree7e95c91adc6aad6254da02c2424c1dca6da2fa1c /channels
parent456cb6f098f7a11adba4c0b7c65b2938358393fc (diff)
automerge commit
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2-netsec@73725 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_agent.c2
-rw-r--r--channels/chan_sip.c8
2 files changed, 7 insertions, 3 deletions
diff --git a/channels/chan_agent.c b/channels/chan_agent.c
index 9084cb09a..8f35081e2 100644
--- a/channels/chan_agent.c
+++ b/channels/chan_agent.c
@@ -1340,7 +1340,7 @@ static struct ast_channel *agent_request(const char *type, int format, void *dat
#if 0
ast_log(LOG_NOTICE, "Time now: %ld, Time of lastdisc: %ld\n", tv.tv_sec, p->lastdisc.tv_sec);
#endif
- if (!p->lastdisc.tv_sec || (tv.tv_sec > p->lastdisc.tv_sec)) {
+ if (!p->lastdisc.tv_sec || (tv.tv_sec >= p->lastdisc.tv_sec)) {
p->lastdisc = ast_tv(0, 0);
/* Agent must be registered, but not have any active call, and not be in a waiting state */
if (!p->owner && p->chan) {
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index c39339c91..7e8fdaf01 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -11782,8 +11782,12 @@ static void *do_monitor(void *data)
sip_do_reload();
/* Change the I/O fd of our UDP socket */
- if (sipsock > -1)
- sipsock_read_id = ast_io_change(io, sipsock_read_id, sipsock, NULL, 0, NULL);
+ if (sipsock > -1) {
+ if (sipsock_read_id)
+ sipsock_read_id = ast_io_change(io, sipsock_read_id, sipsock, NULL, 0, NULL);
+ else
+ sipsock_read_id = ast_io_add(io, sipsock, sipsock_read, AST_IO_IN, NULL);
+ }
}
/* Check for interfaces needing to be killed */
ast_mutex_lock(&iflock);