summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
author[email protected] <[email protected]>2010-11-20 12:31:00 +0000
committer[email protected] <[email protected]>2010-11-20 12:31:00 +0000
commit10732a76e9a3bf1ead47cf9848c6838236e4e343 (patch)
tree7475b1f6ff77e80bd357fc551de80565c9486080 /src
parent2fce1a91e2577f06b68151dffa15558750346d02 (diff)
cleanup scons building script
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1065 bbd45198-f89e-11dd-88c7-29a3b14d5316
Diffstat (limited to 'src')
-rw-r--r--src/SConscript25
-rw-r--r--src/ipc.c8
2 files changed, 11 insertions, 22 deletions
diff --git a/src/SConscript b/src/SConscript
index bff1aef271..c9ae828f9c 100644
--- a/src/SConscript
+++ b/src/SConscript
@@ -1,23 +1,8 @@
-Import('env')
Import('RTT_ROOT')
-Import('projects')
+from building import *
-# The set of source files associated with this SConscript file.
-src_local = Glob('*.c')
+src = Glob('*.c')
+CPPPATH = [RTT_ROOT + '/include']
+group = DefineGroup('Kernel', src, depend = [''], CPPPATH = CPPPATH)
-# group definitions
-group = {}
-group['name'] = 'Kernel'
-group['src'] = File(src_local)
-group['CCFLAGS'] = ''
-group['CPPPATH'] = [RTT_ROOT + '/include']
-group['CPPDEFINES'] = ''
-group['LINKFLAGS'] = ''
-
-# add group to project list
-projects.append(group)
-
-env.Append(CPPPATH = group['CPPPATH'])
-obj = env.Object(group['src'])
-
-Return('obj')
+Return('group')
diff --git a/src/ipc.c b/src/ipc.c
index 15a2f99b2f..a8cdb42e85 100644
--- a/src/ipc.c
+++ b/src/ipc.c
@@ -453,7 +453,11 @@ rt_err_t rt_sem_control(rt_sem_t sem, rt_uint8_t cmd, void* arg)
RT_ASSERT(sem != RT_NULL);
if (cmd == RT_IPC_CMD_RESET)
- {
+ {
+ rt_uint32_t value;
+
+ /* get value */
+ value = (rt_uint32_t)arg;
/* disable interrupt */
level = rt_hw_interrupt_disable();
@@ -461,7 +465,7 @@ rt_err_t rt_sem_control(rt_sem_t sem, rt_uint8_t cmd, void* arg)
rt_ipc_object_resume_all(&sem->parent);
/* set new value */
- sem->value = (rt_uint16_t)arg;
+ sem->value = (rt_uint16_t)value;
/* enable interrupt */
rt_hw_interrupt_enable(level);