<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/openrc.git/src/openrc, branch github/master</title>
<subtitle>[no description]</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/openrc.git/atom?h=github%2Fmaster</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/openrc.git/atom?h=github%2Fmaster'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/openrc.git/'/>
<updated>2023-07-27T03:41:42Z</updated>
<entry>
<title>rc: fix automatic restart with runlevel-specific conf.d files</title>
<updated>2023-07-27T03:41:42Z</updated>
<author>
<name>Sven Wegener</name>
<email>sven.wegener@stealer.net</email>
</author>
<published>2023-07-15T14:52:12Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/openrc.git/commit/?id=86efc43d0e0d7569f5d2e7a58b8c461ac9f7dae8'/>
<id>urn:sha1:86efc43d0e0d7569f5d2e7a58b8c461ac9f7dae8</id>
<content type='text'>
Commit fc4f15d6cd8e7884f7094e5d3749b01f2d5a448f broke the automatic restart of
services having runlevel-specific conf.d files.

The double dirname() was not a mistake, but the way of getting from the
service script in init.d to the upper directory containing the conf.d
directory. dirname() modifies the argument in-place, so the second call
operated on a modified value. To make it more obvious what is going on,
have the second call operate on the returned value from the first call.

Fixes: fc4f15d ("openrc: fix double-assignment to dir")
Signed-off-by: Sven Wegener &lt;sven.wegener@stealer.net&gt;
</content>
</entry>
<entry>
<title>rc: use LIST_FOREACH_SAFE in cleanup()</title>
<updated>2023-04-25T00:20:19Z</updated>
<author>
<name>NRK</name>
<email>nrk@disroot.org</email>
</author>
<published>2023-01-30T12:43:36Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/openrc.git/commit/?id=3f82d5b1a3e7456571488fd151ae84f9f30ef6cc'/>
<id>urn:sha1:3f82d5b1a3e7456571488fd151ae84f9f30ef6cc</id>
<content type='text'>
according to the linux manpage, the "safe" variant may not be available
on all platform. however we bundle our own `queue.h` so this should not
be an issue.
</content>
</entry>
<entry>
<title>rc: block SIGCHLD during pid list operations</title>
<updated>2023-04-25T00:20:19Z</updated>
<author>
<name>NRK</name>
<email>nrk@disroot.org</email>
</author>
<published>2023-01-28T12:45:13Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/openrc.git/commit/?id=0b4732520fbe50445cd05df58c7475659ee0a6f3'/>
<id>urn:sha1:0b4732520fbe50445cd05df58c7475659ee0a6f3</id>
<content type='text'>
the pid list will be accessed inside the SIGCHLD signal handler. so we
must ensure SIGCHLD handler doesn't get invoked while the list is at an
inconsistent state making it unsafe to interact with.

Co-authored-by: Dominique MARTINET &lt;dominique.martinet@atmark-techno.com&gt;
Bug: https://github.com/OpenRC/openrc/issues/589#issuecomment-1406588576
</content>
</entry>
<entry>
<title>rc: avoid calling free inside SIGCHLD handler</title>
<updated>2023-04-25T00:20:19Z</updated>
<author>
<name>NRK</name>
<email>nrk@disroot.org</email>
</author>
<published>2023-01-28T12:38:52Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/openrc.git/commit/?id=bbd3acfc678a891b9ec2b021ad9f745c34e554f7'/>
<id>urn:sha1:bbd3acfc678a891b9ec2b021ad9f745c34e554f7</id>
<content type='text'>
`free` is not async-signal-safe and calling it inside a signal handler
can have bad effects, as reported in the musl ML:
https://www.openwall.com/lists/musl/2023/01/23/1

the solution:

- keep track of weather remove_pid() is being called from inside a
  signal handler or not.
- if it's inside a signal handler then DO NOT call free - instead put
  that pointer into a "to be freed later" list.
- if it's not inside a signal handler then take the "to be freed later"
  list and free anything in it.

Bug: https://github.com/OpenRC/openrc/issues/589
Reported-by: Dominique MARTINET &lt;dominique.martinet@atmark-techno.com&gt;
</content>
</entry>
<entry>
<title>Rename attribute macros to namespaced RC_*</title>
<updated>2023-04-19T20:44:51Z</updated>
<author>
<name>Sam James</name>
<email>sam@gentoo.org</email>
</author>
<published>2023-04-19T03:29:10Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/openrc.git/commit/?id=eb8831a1416ab2ee8123b3add78421c2aa316b39'/>
<id>urn:sha1:eb8831a1416ab2ee8123b3add78421c2aa316b39</id>
<content type='text'>
This conflicts with linux-headers which uses __unused for some padding members
on ppc64le at least.

Closes: https://github.com/OpenRC/openrc/issues/622
</content>
</entry>
<entry>
<title>openrc: missing includes from IWYU</title>
<updated>2023-01-29T17:32:22Z</updated>
<author>
<name>Sam James</name>
<email>sam@gentoo.org</email>
</author>
<published>2023-01-29T04:16:33Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/openrc.git/commit/?id=fb6ffc5713a944c878581c5f09f626c6493d81c1'/>
<id>urn:sha1:fb6ffc5713a944c878581c5f09f626c6493d81c1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>openrc: rc-logger: add missing includes to header</title>
<updated>2023-01-29T04:14:30Z</updated>
<author>
<name>Sam James</name>
<email>sam@gentoo.org</email>
</author>
<published>2023-01-29T03:22:56Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/openrc.git/commit/?id=2f6b5b7ef4cd12c801167ca79efec3d69b2927cd'/>
<id>urn:sha1:2f6b5b7ef4cd12c801167ca79efec3d69b2927cd</id>
<content type='text'>
Needed for clang-tidy prep work, as it requires headers to work standalone
(which is useful anyway).
</content>
</entry>
<entry>
<title>openrc: avoid unnecessary malloc inside sig-handler</title>
<updated>2023-01-28T18:08:00Z</updated>
<author>
<name>NRK</name>
<email>nrk@disroot.org</email>
</author>
<published>2023-01-27T12:55:10Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/openrc.git/commit/?id=459783bbad912e5eda6533959c09b94db1d385d1'/>
<id>urn:sha1:459783bbad912e5eda6533959c09b94db1d385d1</id>
<content type='text'>
malloc (called by xasprintf) is not async-signal-safe. beside, the
string here is constant, so there's no need to malloc it all.

eerrorx isn't async-signal-safe either (due to calling fprintf and exit)
but consequence of them are _typically_ not as grave as calling malloc
while it's internal state is inconsistent.

Bug: https://github.com/OpenRC/openrc/issues/589
</content>
</entry>
<entry>
<title>openrc: mark handle_bad_signal as noreturn</title>
<updated>2023-01-25T05:51:13Z</updated>
<author>
<name>Sam James</name>
<email>sam@gentoo.org</email>
</author>
<published>2023-01-25T04:00:50Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/openrc.git/commit/?id=bcae7d03b47e0697eda6992667b8053e3484c8ff'/>
<id>urn:sha1:bcae7d03b47e0697eda6992667b8053e3484c8ff</id>
<content type='text'>
For -Wmissing-noreturn.
</content>
</entry>
<entry>
<title>openrc: fix double-assignment to dir</title>
<updated>2023-01-25T05:05:32Z</updated>
<author>
<name>Sam James</name>
<email>sam@gentoo.org</email>
</author>
<published>2023-01-25T04:12:11Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/openrc.git/commit/?id=fc4f15d6cd8e7884f7094e5d3749b01f2d5a448f'/>
<id>urn:sha1:fc4f15d6cd8e7884f7094e5d3749b01f2d5a448f</id>
<content type='text'>
This one is a bit odd, it didn't get fixed in e273b4e08ee0ebc1a001d60e2a5b65a9553a8a8a,
and goes all the way back to cb9da6a262b60255cd037f20b4cde3ab2c8a1e6a.
</content>
</entry>
</feed>
