Commit Graph

134 Commits

Author SHA1 Message Date
mysterywolf 98f0cfbf6e define maximum value of ipc type 2020-10-23 01:04:06 +08:00
mysterywolf b43f7365a4 [bug fixed] add mb mq value overflow-check code 2020-10-22 07:13:49 +08:00
mysterywolf b93b494239 [bug fixed] add mutex values' overflow-check code 2020-10-21 17:15:43 +08:00
mysterywolf 2469335e21 [fix bug] #3951 2020-10-11 17:54:39 +08:00
Bernard Xiong c0d78d4f88
Merge pull request #3773 from ErnestChen1/event_option0717
[modify] if ... else if constructs to be terminated with an else clau…
2020-08-03 21:41:13 +08:00
Bernard Xiong 70142efbf2
Merge pull request #3775 from ErnestChen1/event_goto
[add] a macro to be isolated while using signals in rt_mutex_take fun…
2020-08-03 21:19:30 +08:00
Bernard Xiong 65d4e732cc
Merge pull request #3774 from ErnestChen1/switch_default0727
[add] switch default clause
2020-08-03 21:14:09 +08:00
Meco 1fe077a0be fix在rt_event_recv函数中,如果事件已经满足无需阻塞的情况下,没有给thread->event_set/event_info赋值的问题 2020-07-29 09:57:32 +08:00
chenchaoqun a78c6bedea [add] a macro to be isolated while using signals in rt_mutex_take function. 2020-07-27 14:01:30 +08:00
chenchaoqun 55cfefd90a [add] switch default clause 2020-07-27 11:50:48 +08:00
chenchaoqun b328c1cbac [modify] if ... else if constructs to be terminated with an else clause, which other option is invalid and delete surplus space. 2020-07-27 11:38:46 +08:00
greed-island 08c15f1b11
Update ipc.c
程序的分支逻辑出错。
详见修改。
2020-03-31 23:54:41 +08:00
Bernard Xiong 992d3af3ae [kernel] code and comments cleanup 2019-12-16 13:59:46 +08:00
tangyuxin 255825835e [kernel][ipc] 修复创建0长度的消息队列宕机问题 2019-09-27 14:21:52 +08:00
tangyuxin e4671d2916 [kernel][ipc] add send wait support for message queue 2019-09-19 10:10:02 +08:00
iglencao 37de4d6054 Create IPC.ipch
这里注释应该由semaphore改为mutex
2019-08-10 22:45:00 +08:00
tyx c8e27adf1f [src][ipc]完善 message queue 相关定义 2019-07-09 21:34:56 +08:00
tyustli d8eb0cfc1e fix kernel and framework no cast type error 2019-06-18 20:09:19 +08:00
Bernard Xiong 43c1236ec9 [Kernel] code cleanup for indentation. 2019-05-09 08:57:24 +08:00
shaojinchun 7bcee9bcb1 semaphore结构中value仍改为uint16_t,加入对其设置范围的检测,加入对齐变量 2019-04-24 09:14:00 +08:00
Bernard Xiong 484afe9d2c [Kernel] Add 64bit CPU support. 2018-10-26 06:35:42 +08:00
Bernard Xiong ff08faf605 [Kernel] Adjust the copyright information 2018-09-25 11:06:07 +08:00
Bernard Xiong 41f7f2c284 [Kernel] Update to Apache License v2.0
Update license for RT-Thread kernel.
2018-09-14 22:37:43 +08:00
liang yongxiang f706131fc6 [kernel] add assert to ipc object 2018-07-11 18:02:54 +08:00
Bernard Xiong df64a297ab [Kernel] Remove memory ops when SLAB and module enable 2018-06-10 18:46:11 +08:00
guozhanxin d44790c8f9 [src/ipc.c]adjust rt_event_send() hook function position|调整rt_event_send()钩子函数位置 2018-05-18 19:59:30 +08:00
bernard b27c7e4826 [Kernel] Add signal implementation.
1. Add signal implementation;
2. Change the 'rt_uint8_t' of cmd to 'int';
2017-10-15 22:31:53 +08:00
bernard cccff34fca Merge branch 'master' of https://github.com/RT-Thread/rt-thread 2017-09-29 10:23:56 +08:00
bernard e9a77b513f [Kernel] mutex can be used before scheduler startup. 2017-09-29 10:23:49 +08:00
emlslxl e521decf2e 根据documentation/coding_style_cn.txt约定 对内核src和include目录下的文件代码进行格式化 2017-09-15 11:02:24 +08:00
dogandog c314417e0b Correct comments about doxygen format
chang /*@{*/ to /**@{*/ and /*@}*/ to /**@}*/
2016-08-19 10:07:12 +08:00
pathletboy 63c51fbfc8 Sorry, fix missed, related #590. 2015-11-23 16:10:49 +08:00
pathletboy 78c9ddef86 fix code indent. 2015-11-23 13:23:55 +08:00
pathletboy 30cbe3cc3e add document. 2015-11-22 15:55:19 +08:00
pathletboy 5b03e37ae1 allow parameter "recved" can be null in function "rt_event_recv" 2015-11-21 20:55:41 +08:00
Grissiom b72001fcac kernel: mutex could only be released in thread context
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.
2013-10-14 09:50:18 +08:00
Grissiom 6f71308ef5 kernel: add RT_DEBUG_IN_THREAD_CONTEXT
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.
2013-10-11 22:51:38 +08:00
Grissiom c465bc2c2e rt_event_recv: add a check on the option flag
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.
2013-09-14 13:12:23 +08:00
Bernard Xiong 79392bb082 Embedded GPLv2 license. 2013-06-24 17:06:09 +08:00
Bernard Xiong 4afdf44da2 add RT_KERNEL_MALLOC/FREE 2013-04-25 14:22:07 +08:00
dzzxzz@gmail.com 1cffb60ce0 fixed the coding style in ipc.c
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2520 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-25 06:45:34 +00:00
dzzxzz@gmail.com 0e40d55d9f fixed the coding style of RT_DEBUG_LOG
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2500 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-20 07:25:19 +00:00
dzzxzz@gmail.com 700b16c52b adjust the coding style in src/ipc.c
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2302 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-09-24 03:01:48 +00:00
qiuyiuestc@gmail.com a73abdccf5 split export symbols from rtm.c to each file
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2263 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-08-27 01:21:57 +00:00
bernard.xiong@gmail.com 0f519b6721 move src\kservice.h to include\rtservice.h.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2005 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-03-22 06:11:44 +00:00
bernard.xiong@gmail.com b6c1ebf423 add RT_PRINTF_PRECISION in kservice.c; fix re-schedule issue in IPC control function.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2003 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-03-22 05:57:54 +00:00
dzzxzz 12b5e56f46 unify the coding style of kernel
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1998 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-03-17 06:43:49 +00:00
bernard.xiong@gmail.com 6b31d549c7 cleanup some comments.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1898 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-12-31 08:58:40 +00:00
bernard.xiong@gmail.com 27bbf04ac6 add more parameters checking in message queue
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1888 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-12-29 15:39:14 +00:00
dzzxzz a1e64f295c unify the ipc.c coding style according to the /documentation/coding_style_cn.txt
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1876 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-12-24 06:12:21 +00:00
bernard.xiong@gmail.com cc66f2dee6 clean up comments from chaos.proton@gmail.com.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1777 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-10-30 00:37:15 +00:00
dzzxzz c0f80bdf9a cleanup kernel code
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1715 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-09-21 03:56:42 +00:00
dzzxzz 405678552d cleanup code in ipc.c and idle.c
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1713 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-09-19 07:15:31 +00:00
bernard.xiong@gmail.com e7003777e0 cleanup ipc code.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1707 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-09-11 03:35:12 +00:00
bernard.xiong 9fce2db27e fixed the scheduling issue in rt_thread_startup; changed the end of line to UNIX style.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1703 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-09-08 02:17:18 +00:00
bernard.xiong ed87391097 fixed rt_thread_exit issue if the current thread has been preempted.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1689 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-09-01 09:26:45 +00:00
mbbill@gmail.com 573b73465e more updates on previous change
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1627 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-07-13 12:02:01 +00:00
mbbill@gmail.com 98d59d153e bugfix: thread->error will be changed unexpectedly when sending a mail in interrupt context.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1626 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-07-13 06:58:25 +00:00
qiuyiuestc@gmail.com cea21370a4 rewrite module memory allocator
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1618 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-07-04 23:48:07 +00:00
bernard.xiong@gmail.com ee68988518 change the RT_DEBUG_NOT_REENT to RT_DEBUG_NOT_IN_INTERRUPT.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1503 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-06-14 23:59:42 +00:00
mbbill@gmail.com 864bd11802 Add reentrance check. Put kernel debug switch together.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1494 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-06-12 10:01:48 +00:00
mbbill@gmail.com 8cae5c147f fix mailbox offset overflow
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1486 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-06-10 06:04:06 +00:00
bernard.xiong@gmail.com 3126b45da6 Remove divide instructions.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1477 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-06-09 14:13:38 +00:00
mbbill@gmail.com ae674ab359 Now, lwip is using blocking mailbox.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1473 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-06-08 16:41:36 +00:00
mbbill@gmail.com 252bc41a2c add a blocking mailbox post function
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1471 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-06-08 16:40:07 +00:00
bernard.xiong@gmail.com 24c5c98240 move the setting next pointer to NULL out off interrupt disable.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1450 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-06-04 13:30:43 +00:00
bernard.xiong 3ea3d509ef change the wrong end of line (all of them shall be UNIX end of line).
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1445 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-06-02 04:42:57 +00:00
bernard.xiong@gmail.com 10732a76e9 cleanup scons building script
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1065 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-11-20 12:31:00 +00:00
bernard.xiong 7018ab0661 add cleanup callback function on thread exit; add IPC object reset command.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1043 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-11-12 10:16:33 +00:00
qiuyiuestc fb7d4122fc implement module memory allocator
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1030 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-10-28 01:21:47 +00:00
bernard.xiong a0c9b0e90e move memcpy outside interrupt disable in mq.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@661 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-04-20 23:19:40 +00:00
bernard.xiong b557f30630 remove rt_ipc_object_decrease function
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@322 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-01-19 23:55:54 +00:00
mbbill f8f7a5f510 FIX: Removed suspend_thread_count.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@317 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-01-19 03:17:37 +00:00
bernard.xiong 51e2d91378 add license and copyright info
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@226 bbd45198-f89e-11dd-88c7-29a3b14d5316
2009-12-25 12:18:53 +00:00
bernard.xiong 8f90e129d3 clean up software timer code.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@222 bbd45198-f89e-11dd-88c7-29a3b14d5316
2009-12-24 00:03:57 +00:00
bernard.xiong fe92b1daed fix the rt_ipc_object_suspend issue when IPC flag is RT_IPC_FLAG_PRIO
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@201 bbd45198-f89e-11dd-88c7-29a3b14d5316
2009-12-16 08:28:01 +00:00
bernard.xiong 17c81cfa21 change the mb/mq receive timeout to 0 if the re-calculated delta tick is a negative number. -- found by freescale@stmsky.com
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@128 bbd45198-f89e-11dd-88c7-29a3b14d5316
2009-10-24 23:07:12 +00:00
bernard.xiong ff705032d8 change semaphore and mutex value to unsigned value
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@84 bbd45198-f89e-11dd-88c7-29a3b14d5316
2009-10-09 23:58:46 +00:00
bernard.xiong 8e76594241 convert dos endline to unix endline; cleanup schedule code for STM32
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@49 bbd45198-f89e-11dd-88c7-29a3b14d5316
2009-09-20 23:43:51 +00:00
bernard.xiong 3bfe93e365 fix mutex release bug
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@45 bbd45198-f89e-11dd-88c7-29a3b14d5316
2009-09-10 12:29:15 +00:00
bernard.xiong e860e11ef7 remove fast event and fix ipc release bug
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@43 bbd45198-f89e-11dd-88c7-29a3b14d5316
2009-09-09 23:30:00 +00:00
bernard.xiong dc638b887c fix the fast event receive bug
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@29 bbd45198-f89e-11dd-88c7-29a3b14d5316
2009-08-31 12:31:19 +00:00
bernard.xiong 5488777d55 fix event clear bug.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@7 bbd45198-f89e-11dd-88c7-29a3b14d5316
2009-07-18 10:02:12 +00:00
bernard.xiong bda4730a94 import RT-Thread RTOS 0.3.x to Google SVN
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2 bbd45198-f89e-11dd-88c7-29a3b14d5316
2009-07-02 22:48:23 +00:00