Commit Graph

103 Commits

Author SHA1 Message Date
Meco Man 75ae0a544b NULL -> RT_NULL 2021-04-01 23:04:53 +08:00
wanghaijing 78c370d793 pipe name depend on RT_NAME_MAX 2021-03-27 11:56:50 +08:00
Bernard Xiong b12615f344
Merge pull request #4427 from mysterywolf/components
[components] auto & manual formatted
2021-03-16 13:53:54 +08:00
Bernard Xiong 8bb2817d35
Merge pull request #4366 from whj4674672/wqueue
[fix] wait queue flag 赋的值使用宏
2021-03-09 20:59:28 +08:00
Meco Man 3c05a4e719 [compoenets] auto & manual formatted 2021-03-08 18:19:04 +08:00
tangyuxin 4f2359d34c [workqueue] 修复临界条件线程意外挂起问题
线程判断任务链表为空时,开中断挂起线程,在挂起线程的过程中,提交的任务不会被执行。

将线程的挂起与恢复放在中断保护内,确保挂起挂起恢复是一个完整的过程
2021-02-22 17:10:33 +08:00
tangyuxin 791b8a35de [workqueue] 系统默认工作队列初始化阶段提前 2021-02-22 11:23:20 +08:00
wanghaijing b39a7c4822 [fix] flag 的赋值使用宏的方式 2021-02-22 10:12:49 +08:00
tangyuxin a96156faf1 [workqueue] 提交正在执行的工作,返回 BUSY 2021-02-07 10:30:25 +08:00
tangyuxin 83dca09e1c [workqueue] 修复提交工作后立即取消,获取无效工作任务的问题
当高优先级任务提交工作后,立即取消。此时队列被唤醒,下面紧接着获取链表中第一个任务。但此时已经是空链表了。

每次线程被唤醒。检查当前任务链表是否未空
2021-02-06 21:54:25 +08:00
tangyuxin 7eabe5c9e9 [workqueue] 取消正在执行的工作返回BUSY 2021-02-06 20:39:52 +08:00
tangyuxin 3ef3fb50af [workqueue] 队列销毁时取消所有工作并释放内核对象 2021-02-06 20:15:50 +08:00
tangyuxin d6b44ca52e [workqueue] 支持取消延时工作任务 2021-02-06 20:08:31 +08:00
tangyuxin 0230d32ca0 添加断言及注释 2021-02-01 15:02:22 +08:00
tangyuxin b42506fb73 优化功能重复的代码 2021-02-01 15:02:21 +08:00
tangyuxin c5218b5eee 修复紧急工作队列插入问题
紧急工作仍插入队列尾部,先将其插入队列头部
2021-02-01 15:02:20 +08:00
tangyuxin 5b52e6c7e3 修复同步取消锁中断等信号的问题 2021-02-01 15:02:19 +08:00
tangyuxin 5a16a2060e 定时处理函数临界区保护更加完整
定时器回调函数中,添加工作之前打开了中断。此时在极端情况下,会导致状态不对。
2021-02-01 15:02:18 +08:00
tangyuxin 10b5aa8f59 合并 cancel 和 cancel_delayed 函数,优化代码体积
合并 _workqueue_cancel_work 和 _workqueue_cancel_delayed_work 函数,优化代码体积
2021-02-01 15:02:17 +08:00
tangyuxin 0c87becb3e 合并 submit 和 submit_delayed,优化代码体积
将 _workqueue_submit_delayed_work 和 _workqueue_submit_work 函数合并成一个。优化代码体积
2021-02-01 15:02:16 +08:00
Meco Man a657c00e72 update pipe.c 2021-01-01 17:21:48 +08:00
Meco Man a233495718 Typo: rt_data_queue_peak() in dataqueue 2020-12-31 16:02:42 +08:00
tangyuxin c3ba2b07fa [components][workqueue] Modify system work queue initialization level 2020-12-02 14:30:31 +08:00
malongwei d6c8b46dad add 'rt_ringbuffer_peak' API 2020-11-22 14:20:02 +08:00
qiyongzhong0 967cc968e8 fix difference of style 2020-09-18 09:45:47 +08:00
qiyongzhong0 44baf269f7 fix bug of dataqueue 2020-09-18 09:33:34 +08:00
qiyongzhong0 c16c5b968f fix dataqueue, limit queue size to usable values (2,4,8,16...) to avoid errors when put_index exceed 0xffff. 2020-08-30 14:35:09 +08:00
David Lin e9d930070d
Update pipe.c 2020-04-13 07:20:29 +08:00
David Lin ff09587d23
[components/drivers] update pipe.c
Fixed stackover flow bug when create pipe->fifo
2020-04-12 11:58:33 +08:00
yangjie 1d7b34f471 [components][dataqueue]修改is_init为magic数 2020-04-08 11:05:37 +08:00
yangjie dfcd38b74d [components][dataqueue]add rt_data_queue_deinit 2020-04-07 17:36:56 +08:00
Bernard Xiong 9111aca176
Merge pull request #3279 from armink/fix_rbb
[DeviceDriver][IPC] Fix rbb free bug in rt_rbb_destroy.
2019-12-19 14:59:29 +08:00
armink 6228ff5e98 [DeviceDriver][IPC] Fix rbb free bug in rt_rbb_destroy. 2019-12-19 10:39:55 +08:00
Bernard Xiong 7a00b42e97
Update pipe.c 2019-12-18 23:19:54 +08:00
Bernard Xiong 055061a639 [DeviceDrivers] Fix pipe memory issue. 2019-12-18 21:38:05 +08:00
tangyuxin badd211457 [components][drivers][ipc] 完善工作队列,增强稳定性
1. 可直接提交延时任务, 无需额外调用延时初始化
2. 修复延时任务 PENDING 时,取消任务会递归调用的问题
2019-08-05 14:18:15 +08:00
tyustli d8eb0cfc1e fix kernel and framework no cast type error 2019-06-18 20:09:19 +08:00
EvalZero 83b6260b3f [components][workqueue]improve delayed work for reinit. 2019-04-22 11:43:45 +08:00
EvalZero c3ee1be7ee [components][drivers][workqueue] increase the default stack size of the workqueue thread. 2019-04-03 18:26:55 +08:00
Bernard Xiong 2c8fb7022e
Merge pull request #2526 from BernardXiong/fix_pipe
[libc] Fix the unamed pipe close issue
2019-04-01 18:10:44 +08:00
Bernard Xiong ff00378728 [libc] Fix the unamed pipe close issue 2019-03-31 15:21:49 +08:00
EvalZero c7ccb4f532 [components][drivers][workqueue] add system default workqueue and delayed work. 2019-03-30 14:29:30 +08:00
misonyo e02d6e616b [driver/ringbuffer]illegal access to freed memory 2019-01-21 21:59:39 +08:00
armink 74232f2de4 [DeviceDriver][rbb] Add some comments and rt_rbb_blk_size/rt_rbb_blk_buf API.
Signed-off-by: armink <armink.ztl@gmail.com>
2018-11-22 18:08:12 +08:00
Bernard Xiong 2c0640a178 [license] Change license to Apache. 2018-10-14 19:37:18 +08:00
armink dff8a2c513 [DeviceDriver] Add rbb (ring block buffer) data structure. 2018-09-12 08:59:58 +08:00
neverxie 3a83e5524f [components][pipe] Fix 'pipe' command close bug when open failed. 2018-08-11 18:45:18 +08:00
Bernard Xiong 0cac9afc4b [Kernel] clean code for indentation. 2018-06-26 12:02:03 +08:00
Bernard Xiong ef132f3c94 [Kernel] clean code for indentation. 2018-06-26 11:57:20 +08:00
Bernard Xiong a1a56ce1d1 [Kernel] Add flag in wait queue and fix wakeup issue. 2018-06-26 11:19:38 +08:00