<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rt-thread.git/components/drivers/ipc/dataqueue.c, branch v5.3.0-beta</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/rt-thread.git/atom/components/drivers/ipc/dataqueue.c?h=v5.3.0-beta</id>
<link rel='self' href='http://cgit.235523.xyz/rt-thread.git/atom/components/drivers/ipc/dataqueue.c?h=v5.3.0-beta'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/'/>
<updated>2026-08-03T01:43:57Z</updated>
<entry>
<title>ipc: fix recursive data queue locking on SMP</title>
<updated>2026-08-03T01:43:57Z</updated>
<author>
<name>GuEe-GUI</name>
<email>2991707448@qq.com</email>
</author>
<published>2026-07-22T14:25:04Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=9915dc66c197b9df63701bc3cb7837cd78b6f5d9'/>
<id>urn:sha1:9915dc66c197b9df63701bc3cb7837cd78b6f5d9</id>
<content type='text'>
rt_data_queue_pop() holds the data queue spinlock while updating the ring
state, then calls rt_data_queue_len(). The length function tries to acquire
the same non-recursive spinlock again, causing an SMP deadlock when a pop
leaves the queue non-empty.

Add a private _data_queue_len_nolock() helper for callers which already hold
the queue lock. Keep the public rt_data_queue_len() protected by one spinlock
acquisition.

This does not change the public API, ABI, queue state transitions, low-water
mark wakeups, or event callback behavior.

Tested on a four-core Spacemit K1 with cyclic HDMI playback and by building the
SMP QEMU Virt64 RISC-V BSP with generic audio, Intel HDA and VirtIO Sound.

Signed-off-by: GuEe-GUI &lt;2991707448@qq.com&gt;
</content>
</entry>
<entry>
<title>RT_TIMER_CTRL_SET_TIME only accept rt_tick_t, pass rt_tick_t instead int/rt_int32_t</title>
<updated>2025-09-24T10:12:36Z</updated>
<author>
<name>Yonggang Luo</name>
<email>luoyonggang@gmail.com</email>
</author>
<published>2025-09-21T17:04:46Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=66b2bcc080b39750cc69a2f00f0d951f94967712'/>
<id>urn:sha1:66b2bcc080b39750cc69a2f00f0d951f94967712</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[ipc] [dataqueue] 修复队列 pop 挂起的线程 push 无法恢复运行的错误 (#8839)</title>
<updated>2024-04-22T12:20:35Z</updated>
<author>
<name>sp-cai</name>
<email>70000077+sp-cai@users.noreply.github.com</email>
</author>
<published>2024-04-22T12:20:35Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=554632f1eee19eca27310b3c813fd1a5f8acca48'/>
<id>urn:sha1:554632f1eee19eca27310b3c813fd1a5f8acca48</id>
<content type='text'>
队列在 push 后查找挂起列表时使用了错误的挂起列表。</content>
</entry>
<entry>
<title>🎯 Sync smart &amp; scheduler codes (#8537)</title>
<updated>2024-02-23T09:49:15Z</updated>
<author>
<name>Shell</name>
<email>smokewood@qq.com</email>
</author>
<published>2024-02-23T09:49:15Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=71560bafb5735220696ca24a42ba4a668b55949b'/>
<id>urn:sha1:71560bafb5735220696ca24a42ba4a668b55949b</id>
<content type='text'>
Signed-off-by: Shell &lt;smokewood@qq.com&gt;
Co-authored-by: xqyjlj &lt;xqyjlj@126.com&gt;</content>
</entry>
<entry>
<title>🎈 perf: perf rt_hw_interrupt_disable/enable (#8042)</title>
<updated>2023-10-25T12:31:25Z</updated>
<author>
<name>xqyjlj</name>
<email>xqyjlj@126.com</email>
</author>
<published>2023-10-25T12:31:25Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=3283f54c7a0444b2e51ec79a4da57e7871528f05'/>
<id>urn:sha1:3283f54c7a0444b2e51ec79a4da57e7871528f05</id>
<content type='text'>
Signed-off-by: Shell &lt;smokewood@qq.com&gt;
Co-authored-by: Shell &lt;smokewood@qq.com&gt;</content>
</entry>
<entry>
<title>[drivers/ipc] fix the recursive including if legacy enabled</title>
<updated>2023-07-29T02:17:40Z</updated>
<author>
<name>Meco Man</name>
<email>920369182@qq.com</email>
</author>
<published>2023-07-28T22:26:51Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=bfe9fd3c1381fe3f6a1a176af8413a6bea405cc8'/>
<id>urn:sha1:bfe9fd3c1381fe3f6a1a176af8413a6bea405cc8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[HUST CSE] Fix many abnormal symbols in annotations and format code</title>
<updated>2023-04-18T02:26:23Z</updated>
<author>
<name>7YZ7</name>
<email>82019212+7YZ7@users.noreply.github.com</email>
</author>
<published>2023-04-18T02:26:23Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=501b22aabede2d4e179bfc47f3b75522e5933da4'/>
<id>urn:sha1:501b22aabede2d4e179bfc47f3b75522e5933da4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[errno code]fix that use RT_ENOMEM without -</title>
<updated>2023-03-23T05:55:21Z</updated>
<author>
<name>Zxy</name>
<email>1308465141@qq.com</email>
</author>
<published>2023-03-23T04:56:38Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=156fda61cf96697b10a1e99b9c2d150090e58230'/>
<id>urn:sha1:156fda61cf96697b10a1e99b9c2d150090e58230</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[errno code][-RT_ETIMEOUT] fix that use RT_ETIMEOUT without -</title>
<updated>2023-03-22T05:54:52Z</updated>
<author>
<name>Meco Man</name>
<email>920369182@qq.com</email>
</author>
<published>2023-03-21T19:38:02Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=eb3cb250be8fc2c68d58995e1aae88dc01d85f6e'/>
<id>urn:sha1:eb3cb250be8fc2c68d58995e1aae88dc01d85f6e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[errno code][-RT_ERROR] fix that use RT_ERROR without -</title>
<updated>2023-03-20T04:06:16Z</updated>
<author>
<name>Meco Man</name>
<email>920369182@qq.com</email>
</author>
<published>2023-03-17T04:12:16Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=0f461e870c481a24ce2690cca1949706bb80f9e7'/>
<id>urn:sha1:0f461e870c481a24ce2690cca1949706bb80f9e7</id>
<content type='text'>
</content>
</entry>
</feed>
