- 16 1月, 2015 1 次提交
-
-
由 Grissiom 提交于
-
- 04 1月, 2015 1 次提交
-
- 24 12月, 2014 1 次提交
-
-
由 Grissiom 提交于
-
- 01 12月, 2014 1 次提交
-
-
由 Grissiom 提交于
ARMCC will define __GNUC__ in "GNU mode"(with --gnu command line option). So iff __GNUC__ && !__CC_ARM is GCC.
-
- 14 10月, 2014 1 次提交
-
-
由 Grissiom 提交于
Use signed int as array index is unsecure.
-
- 19 9月, 2014 1 次提交
-
-
由 Bernard Xiong 提交于
-
- 11 9月, 2014 3 次提交
- 02 9月, 2014 1 次提交
-
-
由 Grissiom 提交于
The rt_list_isempty has prototype of "int rt_list_isempty(const rt_list_t *l)". So the compiler has a good reason that the rt_thread_defunct list does not change within rt_thread_idle_excute thus optimize the "while" loop into a "if". So add the volatile qualifier when test against the rt_thread_defunc list.
-
- 24 8月, 2014 1 次提交
-
-
由 tcz717 提交于
relation=>relocation
-
- 20 8月, 2014 1 次提交
-
-
由 Grissiom 提交于
When thread wake up from waiting for memory, there is a chance that there is no memory available in high pressure. So use a loop to check again. Otherwise, there will be a NULL reference.
-
- 21 7月, 2014 2 次提交
- 16 7月, 2014 1 次提交
-
-
由 Grissiom 提交于
-
- 12 7月, 2014 1 次提交
-
-
由 bernard 提交于
-
- 10 7月, 2014 1 次提交
-
-
由 bernard 提交于
-
- 26 6月, 2014 1 次提交
-
-
由 bernard 提交于
-
- 18 6月, 2014 1 次提交
-
-
由 Grissiom 提交于
-
- 16 4月, 2014 1 次提交
-
-
由 Grissiom 提交于
Time out result and other errors is recorded in thread->error. Dirty error will screw up the error handling code after the thread has been wake up.
-
- 02 4月, 2014 1 次提交
-
-
由 bernard 提交于
-
- 11 3月, 2014 2 次提交
- 11 1月, 2014 1 次提交
-
-
由 bernard 提交于
-
- 21 12月, 2013 2 次提交
-
-
由 Grissiom 提交于
Out side world is difficult to tell whethere there is dead thread remaining. If rt_thread_idle_excute only do one cleanup, it's hard to finish cleanups outside the idle thread. So let is loop and do all the cleanups in one call.
-
由 Grissiom 提交于
Out side world may be interested in whether the scheduler is locked or not. Provide an API to tell that.
-
- 19 10月, 2013 1 次提交
-
-
由 Grissiom 提交于
-
- 14 10月, 2013 1 次提交
-
-
由 Grissiom 提交于
Mutex has the idea of ownership, only the thread which owns the mutex can release it. So rt_mutex_release could only be called in thread context. Add a debug guard to it.
-
- 12 10月, 2013 1 次提交
-
-
由 Grissiom 提交于
Skip list is a "random" data structure that in high possibilities it would get O(log(N)) time complexity in inserting while the old list get O(N). Forthermore, when set RT_TIMER_SKIP_LIST_LEVEL to 1, it will just the same as the old double linked list, both in time and space complexity. Benchmarks shows that when RT_TIMER_SKIP_LIST_LEVEL is 3, the average time of random insertion of new timer is about 2 times faster than the old timer when there are 100 timers and 3 times faster when there are 200 timers. However, it restores the deprecated funcion rt_system_timer_init. BSPs must invoke it upon system startup.
-
- 11 10月, 2013 1 次提交
-
-
由 Grissiom 提交于
In thread context means: 1) the scheduler has been started; 2) not in interrupt context. It is more stronger than RT_DEBUG_NOT_IN_INTERRUPT. With this commit, you will catch the error on situations like taking mutex before scheduling instead of crashing on NULL pointer reference.
-
- 24 9月, 2013 1 次提交
-
-
由 wuyangyong 提交于
-
- 23 9月, 2013 1 次提交
-
-
由 Grissiom 提交于
vsnprintf is a common string function that could be used in many places. Using both vsnprintf in libc and vsnprintf in the RTT could make a bigger image. Moreover, if newlib is not enabled when compiling with GCC, referencing vsnprintf will lead to link error: .../arm-none-eabi/lib/armv7-ar/thumb/softfp/libc.a(lib_a-sbrkr.o): In function `_sbrk_r': sbrkr.c:(.text._sbrk_r+0xc): undefined reference to `_sbrk' collect2: error: ld returned 1 exit status Using rt_vsnprintf could avoid such problem.
-
- 14 9月, 2013 1 次提交
-
-
由 Grissiom 提交于
Either RT_EVENT_FLAG_AND or RT_EVENT_FLAG_OR should be set in the option flag. If none of them is present, the waiting thread will never be resumed.
-
- 19 8月, 2013 1 次提交
-
-
由 Grissiom 提交于
When print the thread names, we should use "%.*s" instead of bare "%s".
-
- 22 7月, 2013 1 次提交
-
-
由 bernard 提交于
-
- 15 7月, 2013 1 次提交
-
-
由 Grissiom 提交于
When realloc a bigger space and the next node is free and big enough, we should directly relocate the next node instead of doing alloc/memcpy. The new method not only faster in this cases, it would avoid memory fragment as well.
-
- 11 7月, 2013 1 次提交
-
-
由 Bernard Xiong 提交于
-
- 09 7月, 2013 1 次提交
-
-
由 Grissiom 提交于
This is a simple work around to the current device stack design. A ref_count could let different modules to open/close the same device independently without interfere others in some degree. But there is still some data shared between the modules, like flag, open_flag and user_data. Moreover, it won't yield an error if A open a device, and B read from it before open it in B. Maybe alloc a new handle in rt_device_open will be the ultimate solution. But that is much bigger change and we may leave it to future development.
-
- 29 6月, 2013 1 次提交
-
-
由 yiyue.fang 提交于
convert Tabs to spaces
-
- 24 6月, 2013 1 次提交
-
-
由 Bernard Xiong 提交于
-