提交 de50381b 编写于 作者: B bernard.xiong@gmail.com

because the sethook operation is invoked only in system initialization, the...

because the sethook operation is invoked only in system initialization, the interrupt protect is removed.

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1504 bbd45198-f89e-11dd-88c7-29a3b14d5316
上级 ee689885
...@@ -49,6 +49,7 @@ ...@@ -49,6 +49,7 @@
* *
*/ */
#include <rthw.h>
#include <rtthread.h> #include <rtthread.h>
/* #define RT_MEM_DEBUG */ /* #define RT_MEM_DEBUG */
...@@ -72,15 +73,7 @@ static void (*rt_free_hook)(void *ptr); ...@@ -72,15 +73,7 @@ static void (*rt_free_hook)(void *ptr);
*/ */
void rt_malloc_sethook(void (*hook)(void *ptr, rt_size_t size)) void rt_malloc_sethook(void (*hook)(void *ptr, rt_size_t size))
{ {
register rt_base_t temp;
/* disable interrupt */
temp = rt_hw_interrupt_disable();
rt_malloc_hook = hook; rt_malloc_hook = hook;
/* enable interrupt */
rt_hw_interrupt_enable(temp);
} }
/** /**
...@@ -91,15 +84,7 @@ void rt_malloc_sethook(void (*hook)(void *ptr, rt_size_t size)) ...@@ -91,15 +84,7 @@ void rt_malloc_sethook(void (*hook)(void *ptr, rt_size_t size))
*/ */
void rt_free_sethook(void (*hook)(void *ptr)) void rt_free_sethook(void (*hook)(void *ptr))
{ {
register rt_base_t temp;
/* disable interrupt */
temp = rt_hw_interrupt_disable();
rt_free_hook = hook; rt_free_hook = hook;
/* enable interrupt */
rt_hw_interrupt_enable(temp);
} }
/*@}*/ /*@}*/
......
...@@ -84,15 +84,7 @@ void (*rt_object_put_hook)(struct rt_object* object); ...@@ -84,15 +84,7 @@ void (*rt_object_put_hook)(struct rt_object* object);
*/ */
void rt_object_attach_sethook(void (*hook)(struct rt_object* object)) void rt_object_attach_sethook(void (*hook)(struct rt_object* object))
{ {
register rt_base_t temp;
/* disable interrupt */
temp = rt_hw_interrupt_disable();
rt_object_attach_hook = hook; rt_object_attach_hook = hook;
/* enable interrupt */
rt_hw_interrupt_enable(temp);
} }
/** /**
...@@ -103,15 +95,7 @@ void rt_object_attach_sethook(void (*hook)(struct rt_object* object)) ...@@ -103,15 +95,7 @@ void rt_object_attach_sethook(void (*hook)(struct rt_object* object))
*/ */
void rt_object_detach_sethook(void (*hook)(struct rt_object* object)) void rt_object_detach_sethook(void (*hook)(struct rt_object* object))
{ {
register rt_base_t temp;
/* disable interrupt */
temp = rt_hw_interrupt_disable();
rt_object_detach_hook = hook; rt_object_detach_hook = hook;
/* enable interrupt */
rt_hw_interrupt_enable(temp);
} }
/** /**
...@@ -129,15 +113,7 @@ void rt_object_detach_sethook(void (*hook)(struct rt_object* object)) ...@@ -129,15 +113,7 @@ void rt_object_detach_sethook(void (*hook)(struct rt_object* object))
*/ */
void rt_object_trytake_sethook(void (*hook)(struct rt_object* object)) void rt_object_trytake_sethook(void (*hook)(struct rt_object* object))
{ {
register rt_base_t temp;
/* disable interrupt */
temp = rt_hw_interrupt_disable();
rt_object_trytake_hook = hook; rt_object_trytake_hook = hook;
/* enable interrupt */
rt_hw_interrupt_enable(temp);
} }
/** /**
...@@ -156,15 +132,7 @@ void rt_object_trytake_sethook(void (*hook)(struct rt_object* object)) ...@@ -156,15 +132,7 @@ void rt_object_trytake_sethook(void (*hook)(struct rt_object* object))
*/ */
void rt_object_take_sethook(void (*hook)(struct rt_object* object)) void rt_object_take_sethook(void (*hook)(struct rt_object* object))
{ {
register rt_base_t temp;
/* disable interrupt */
temp = rt_hw_interrupt_disable();
rt_object_take_hook = hook; rt_object_take_hook = hook;
/* enable interrupt */
rt_hw_interrupt_enable(temp);
} }
/** /**
...@@ -175,15 +143,7 @@ void rt_object_take_sethook(void (*hook)(struct rt_object* object)) ...@@ -175,15 +143,7 @@ void rt_object_take_sethook(void (*hook)(struct rt_object* object))
*/ */
void rt_object_put_sethook(void (*hook)(struct rt_object* object)) void rt_object_put_sethook(void (*hook)(struct rt_object* object))
{ {
register rt_base_t temp;
/* disable interrupt */
temp = rt_hw_interrupt_disable();
rt_object_put_hook = hook; rt_object_put_hook = hook;
/* enable interrupt */
rt_hw_interrupt_enable(temp);
} }
/*@}*/ /*@}*/
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册