浏览代码

* Added a check to make sure only released timers are acquired from the free list.
* Changed TIMER_MAX_INTERVAL to 1 second (was set to 1 minute by mistake).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12963 54d463be-8e91-2dee-dedb-b68131a5f0ec

FlavioJS 17 年之前
父节点
当前提交
3f7b407d6d
共有 2 个文件被更改,包括 5 次插入3 次删除
  1. 2 0
      Changelog-Trunk.txt
  2. 3 3
      src/common/timer.c

+ 2 - 0
Changelog-Trunk.txt

@@ -4,6 +4,8 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK.  ALL UNTESTED BUGFIXES/FEATURES GO
 IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
 
 2008/07/16
+	* Added a check to make sure only released timers are acquired from the free list.
+	* Changed TIMER_MAX_INTERVAL to 1 second (was set to 1 minute by mistake). [FlavioJS]
 	* Fixed TK_JUMPKICK, should not jump over objects and cliffs.
 	- This also might fix them being able to jump barricades on WoESE. [Brainstorm]
 	

+ 3 - 3
src/common/timer.c

@@ -22,7 +22,7 @@
 // If the server can't handle processing thousands of monsters
 // or many connected clients, please increase TIMER_MIN_INTERVAL.
 #define TIMER_MIN_INTERVAL 50
-#define TIMER_MAX_INTERVAL 60000
+#define TIMER_MAX_INTERVAL 1000
 
 // timers (array)
 static struct TimerData* timer_data	= NULL;
@@ -324,8 +324,8 @@ static int acquire_timer(void)
 	while( free_timer_list_num )
 	{
 		int pos = --free_timer_list_num;
-		if( free_timer_list[pos] < timer_data_num )
-		{
+		if( free_timer_list[pos] < timer_data_num && timer_data[free_timer_list[pos]].type == 0 )
+		{// freed and released
 			tid = free_timer_list[pos];
 			break;
 		}