<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rt-thread.git/components/lwp/lwp_pid.h, branch v5.2.1-beta</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/rt-thread.git/atom/components/lwp/lwp_pid.h?h=v5.2.1-beta</id>
<link rel='self' href='http://cgit.235523.xyz/rt-thread.git/atom/components/lwp/lwp_pid.h?h=v5.2.1-beta'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/'/>
<updated>2025-01-06T11:34:16Z</updated>
<entry>
<title>feat: add system reboot and process teardown support</title>
<updated>2025-01-06T11:34:16Z</updated>
<author>
<name>Shell</name>
<email>smokewood@qq.com</email>
</author>
<published>2024-11-12T09:47:51Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=944f3d05b508d5eaeaabd8f5d2964847c80dbc3e'/>
<id>urn:sha1:944f3d05b508d5eaeaabd8f5d2964847c80dbc3e</id>
<content type='text'>
The patch introduces support for system reboot functionality and process teardown,
allowing for a clean shutdown and unmounting of the root filesystem. This is
necessary for ensuring a proper system shutdown process, especially when dealing
with resource cleanup and ensuring that all processes have exited before system
shutdown.

Changes:
- Added `lwp_teardown()` function to handle process cleanup and system teardown.
- Introduced `lwp_pid_wait_for_empty()` to wait for process ID table emptiness
  before proceeding with shutdown.
- Updated `dfs_mnt_unref()` to trigger callbacks when unmounting a filesystem.
- Added new reboot types (`RB_AUTOBOOT`, `RB_POWER_OFF`) and implemented their
  corresponding actions, including cleanup of processes and unmounting root
  filesystem.
- Extended `sys_reboot()` to handle reboot and power off types with appropriate
  callbacks for process and filesystem teardown.
- Introduced callback mechanism for root filesystem unmount notifications.

Signed-off-by: Shell &lt;smokewood@qq.com&gt;
</content>
</entry>
<entry>
<title>feat: support PID iteration</title>
<updated>2025-01-06T11:34:16Z</updated>
<author>
<name>Shell</name>
<email>smokewood@qq.com</email>
</author>
<published>2024-11-15T03:54:38Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=c0b0838892538d2ca13c844ea598db25ca0323e8'/>
<id>urn:sha1:c0b0838892538d2ca13c844ea598db25ca0323e8</id>
<content type='text'>
This change introduces the `lwp_pid_for_each` function, which provides a
convenient and thread-safe method for iterating over PIDs with a user-
defined callback. This addition is necessary to support cases where
operations must be performed on each PID in the balanced tree, enhancing
flexibility and modularity for PID management.

Changes:
- Added `lwp_pid_for_each` function in `lwp_pid.c` to allow iteration
  over PIDs using a callback function and optional data parameter.
- Defined a new internal `pid_foreach_param` structure to encapsulate
  the callback and data for the iteration.
- Added `_before_cb` helper function for executing the callback on each
  PID node during AVL traversal.
- Ensured thread safety by acquiring and releasing the PID lock around
  the AVL traversal within `lwp_pid_for_each`.
- Updated `lwp_pid.h` with the `lwp_pid_for_each` function prototype and
  included `rtthread.h` for necessary types.

Signed-off-by: Shell &lt;smokewood@qq.com&gt;
</content>
</entry>
<entry>
<title>sync smart &amp; dfs (#8672)</title>
<updated>2024-03-28T15:42:56Z</updated>
<author>
<name>Shell</name>
<email>smokewood@qq.com</email>
</author>
<published>2024-03-28T15:42:56Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=83e95bdff4c48c661b50e1eec56d5fd293b28fbb'/>
<id>urn:sha1:83e95bdff4c48c661b50e1eec56d5fd293b28fbb</id>
<content type='text'>
Signed-off-by: xqyjlj &lt;xqyjlj@126.com&gt;
Signed-off-by: Shell &lt;smokewood@qq.com&gt;
Co-authored-by: xqyjlj &lt;xqyjlj@126.com&gt;</content>
</entry>
<entry>
<title>[smart] fixup of lwp recycling and mm varea (#8206)</title>
<updated>2023-11-02T12:23:11Z</updated>
<author>
<name>Shell</name>
<email>wangxiaoyao@rt-thread.com</email>
</author>
<published>2023-11-02T12:23:11Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=c2036e769ae5a16931e40f834cc0687342dc89ce'/>
<id>urn:sha1:c2036e769ae5a16931e40f834cc0687342dc89ce</id>
<content type='text'>
Signed-off-by: shell &lt;wangxiaoyao@rt-thread.com&gt;
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>[smart] split out part of lwp_new() to lwp_create()</title>
<updated>2023-10-11T00:48:06Z</updated>
<author>
<name>Shell</name>
<email>smokewood@qq.com</email>
</author>
<published>2023-09-25T08:12:49Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=a300cef2a82281904a61c3b956e92059c206a416'/>
<id>urn:sha1:a300cef2a82281904a61c3b956e92059c206a416</id>
<content type='text'>
Prev implementation of lwp_new() including the create of lwp object
and the pid allocation. But not every lwp object need a pid.
So this patch split out the business of lwp_new() to improve the
maintainability.

Signed-off-by: Shell &lt;smokewood@qq.com&gt;
</content>
</entry>
<entry>
<title>[component/lwp] support more feature of signal from IEEE Std 1003.1-2017 (#7828)</title>
<updated>2023-07-19T16:02:41Z</updated>
<author>
<name>Shell</name>
<email>smokewood@qq.com</email>
</author>
<published>2023-07-19T16:02:41Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=58e0ddf2879032495a74897c34e3605de929f82c'/>
<id>urn:sha1:58e0ddf2879032495a74897c34e3605de929f82c</id>
<content type='text'>
Signed-off-by: Shell &lt;smokewood@qq.com&gt;</content>
</entry>
<entry>
<title>sync branch rt-smart. (#6641)</title>
<updated>2022-12-03T04:07:44Z</updated>
<author>
<name>guo</name>
<email>guozhanxin@rt-thread.com</email>
</author>
<published>2022-12-03T04:07:44Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=ecf2d8215961ca7c539132b62a72df6072cc3e14'/>
<id>urn:sha1:ecf2d8215961ca7c539132b62a72df6072cc3e14</id>
<content type='text'>
* Synchronize the code of the rt mart branch to the master branch.
  * TTY device
  * Add lwP code from rt-smart
  * Add vnode in DFS, but DFS will be re-write for rt-smart
  * There are three libcpu for rt-smart:
    * arm/cortex-a, arm/aarch64
    * riscv64

Co-authored-by: Rbb666 &lt;zhangbingru@rt-thread.com&gt;
Co-authored-by: zhkag &lt;zhkag@foxmail.com&gt;</content>
</entry>
</feed>
