[asterisk-commits] bweschke: branch bweschke/eventq-sanity-checks
r59032 - /team/bweschke/eventq...
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Fri Mar 16 14:59:55 MST 2007
Author: bweschke
Date: Fri Mar 16 16:59:53 2007
New Revision: 59032
URL: http://svn.digium.com/view/asterisk?view=rev&rev=59032
Log:
Start cleaning stuff up to get it ready to go back in.
Modified:
team/bweschke/eventq-sanity-checks/main/manager.c
Modified: team/bweschke/eventq-sanity-checks/main/manager.c
URL: http://svn.digium.com/view/asterisk/team/bweschke/eventq-sanity-checks/main/manager.c?view=diff&rev=59032&r1=59031&r2=59032
==============================================================================
--- team/bweschke/eventq-sanity-checks/main/manager.c (original)
+++ team/bweschke/eventq-sanity-checks/main/manager.c Fri Mar 16 16:59:53 2007
@@ -69,6 +69,11 @@
#include "asterisk/threadstorage.h"
#include "asterisk/linkedlists.h"
+enum manager_type {
+ STD_MANAGER = 0,
+ HTTP_MANAGER = 1,
+};
+
struct fast_originate_helper {
char tech[AST_MAX_EXTENSION];
char data[AST_MAX_EXTENSION];
@@ -147,7 +152,9 @@
pthread_t waiting_thread;
/*! Unique manager identifer */
unsigned long managerid;
- /*! Session timeout if HTTP */
+ /*! Type of manage session */
+ enum manager_type mtype;
+ /*! Session timeout */
time_t sessiontimeout;
/*! Output from manager interface */
struct ast_dynamic_str *outputstr;
@@ -574,7 +581,7 @@
for (s = master_eventq; s; s = s->next) {
ast_cli(fd, "Usecount: %d\n",s->usecount);
ast_cli(fd, "Category: %d\n", s->category);
- ast_cli(fd, "Timestamp: %d\n", s->timeposted);
+ ast_cli(fd, "Timestamp: %ld\n", s->timeposted);
ast_cli(fd, "Event:\n%s", s->eventdata);
}
AST_LIST_UNLOCK(&sessions);
@@ -2025,11 +2032,11 @@
if (option_verbose > 1) {
if (displayconnects) {
ast_verbose(VERBOSE_PREFIX_2 "%sManager '%s' logged on from %s\n",
- (s->sessiontimeout ? "HTTP " : ""), s->username, ast_inet_ntoa(s->sin.sin_addr));
+ (s->mtype ? "HTTP " : ""), s->username, ast_inet_ntoa(s->sin.sin_addr));
}
}
ast_log(LOG_EVENT, "%sManager '%s' logged on from %s\n",
- (s->sessiontimeout ? "HTTP " : ""), s->username, ast_inet_ntoa(s->sin.sin_addr));
+ (s->mtype ? "HTTP " : ""), s->username, ast_inet_ntoa(s->sin.sin_addr));
astman_send_ack(s, m, "Authentication accepted");
}
} else if (!strcasecmp(action, "Logoff")) {
@@ -2201,7 +2208,7 @@
if (s->sessiontimeout && (now > s->sessiontimeout) && !s->inuse) {
AST_LIST_REMOVE_CURRENT(&sessions, list);
if (s->authenticated && (option_verbose > 1) && displayconnects) {
- ast_verbose(VERBOSE_PREFIX_2 "HTTP/TCP Manager '%s' timed out from %s\n",
+ ast_verbose(VERBOSE_PREFIX_2 "Manager '%s' timed out from %s\n",
s->username, ast_inet_ntoa(s->sin.sin_addr));
}
free_session(s);
@@ -2214,7 +2221,7 @@
/* Purge master event queue of old, unused events, but make sure we
always keep at least one in the queue */
prev = master_eventq;
- while (prev->next && (!prev->usecount || prev->timeposted < (now - maxeventage))) {
+ while (prev->next && (!prev->usecount || prev->timeposted < (now - (maxeventage+10)))) {
eqe = prev;
prev = prev->next;
free(eqe);
@@ -2267,6 +2274,7 @@
ast_mutex_init(&s->__lock);
s->fd = as;
s->send_events = -1;
+ s->mtype = STD_MANAGER;
s->sessiontimeout = now + maxeventage;
AST_LIST_LOCK(&sessions);
AST_LIST_INSERT_HEAD(&sessions, s, list);
@@ -2505,6 +2513,7 @@
goto generic_callback_out;
}
memcpy(&s->sin, requestor, sizeof(s->sin));
+ s->mtype = HTTP_MANAGER;
s->fd = -1;
s->waiting_thread = AST_PTHREADT_NULL;
s->send_events = 0;
More information about the asterisk-commits
mailing list