瀏覽代碼

htable: use lookup instead of get for event route item expiration

- get creates an empty structure which is not used
Daniel-Constantin Mierla 8 年之前
父節點
當前提交
39b1621229
共有 2 個文件被更改,包括 8 次插入10 次删除
  1. 6 8
      modules/htable/ht_api.c
  2. 2 2
      modules/htable/ht_api.h

+ 6 - 8
modules/htable/ht_api.c

@@ -362,7 +362,7 @@ int ht_init_tables(void)
 		{
 		{
 			strcpy(route_name, "htable:expired:");
 			strcpy(route_name, "htable:expired:");
 			strncat(route_name, ht->name.s, ht->name.len);
 			strncat(route_name, ht->name.s, ht->name.len);
-			ht->evrt_expired = route_get(&event_rt, route_name);
+			ht->evrt_expired = route_lookup(&event_rt, route_name);
 
 
 			if (ht->evrt_expired < 0
 			if (ht->evrt_expired < 0
 					|| event_rt.rlist[ht->evrt_expired] == NULL)
 					|| event_rt.rlist[ht->evrt_expired] == NULL)
@@ -1079,24 +1079,22 @@ void ht_handle_expired_record(ht_t *ht, ht_cell_t *cell)
 
 
 	LM_DBG("running event_route[htable:expired:%.*s]\n",
 	LM_DBG("running event_route[htable:expired:%.*s]\n",
 			ht->name.len, ht->name.s);
 			ht->name.len, ht->name.s);
-	ht_expired_run_event_route(ht->evrt_expired);
+	ht_expired_run_event_route(ht);
 
 
 	ht_expired_cell = NULL;
 	ht_expired_cell = NULL;
 }
 }
 
 
-void ht_expired_run_event_route(int routeid)
+void ht_expired_run_event_route(ht_t *ht)
 {
 {
 	int backup_rt;
 	int backup_rt;
 	sip_msg_t *fmsg;
 	sip_msg_t *fmsg;
 
 
-	if (routeid < 0 || event_rt.rlist[routeid] == NULL)
-	{
+	if (ht->evrt_expired < 0 || event_rt.rlist[ht->evrt_expired] == NULL) {
 		LM_DBG("route does not exist\n");
 		LM_DBG("route does not exist\n");
 		return;
 		return;
 	}
 	}
 
 
-	if (faked_msg_init() < 0)
-	{
+	if (faked_msg_init() < 0) {
 		LM_ERR("faked_msg_init() failed\n");
 		LM_ERR("faked_msg_init() failed\n");
 		return;
 		return;
 	}
 	}
@@ -1106,7 +1104,7 @@ void ht_expired_run_event_route(int routeid)
 	backup_rt = get_route_type();
 	backup_rt = get_route_type();
 
 
 	set_route_type(EVENT_ROUTE);
 	set_route_type(EVENT_ROUTE);
-	run_top_route(event_rt.rlist[routeid], fmsg, 0);
+	run_top_route(event_rt.rlist[ht->evrt_expired], fmsg, 0);
 
 
 	set_route_type(backup_rt);
 	set_route_type(backup_rt);
 }
 }

+ 2 - 2
modules/htable/ht_api.h

@@ -18,7 +18,7 @@
  * along with this program; if not, write to the Free Software
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  */
  */
-		       
+
 #ifndef _HT_API_H_
 #ifndef _HT_API_H_
 #define _HT_API_H_
 #define _HT_API_H_
 
 
@@ -103,7 +103,7 @@ int ht_db_sync_tables(void);
 int ht_has_autoexpire(void);
 int ht_has_autoexpire(void);
 void ht_timer(unsigned int ticks, void *param);
 void ht_timer(unsigned int ticks, void *param);
 void ht_handle_expired_record(ht_t *ht, ht_cell_t *cell);
 void ht_handle_expired_record(ht_t *ht, ht_cell_t *cell);
-void ht_expired_run_event_route(int routeid);
+void ht_expired_run_event_route(ht_t *ht);
 int ht_set_cell_expire(ht_t *ht, str *name, int type, int_str *val);
 int ht_set_cell_expire(ht_t *ht, str *name, int type, int_str *val);
 int ht_get_cell_expire(ht_t *ht, str *name, unsigned int *val);
 int ht_get_cell_expire(ht_t *ht, str *name, unsigned int *val);