Displaying 11 results from an estimated 11 matches for "nbd_internal_fork_safe_assert".
2023 Feb 20
2
[libnbd PATCH v3 07/29] lib/utils: add async-signal-safe assert()
...PM +0100, Laszlo Ersek wrote:
>> Add an assert() variant that we may call between fork() and exec*().
>>
>> Signed-off-by: Laszlo Ersek <lersek at redhat.com>
>> ---
>>
>
>> +++ b/lib/internal.h
>
>> +
>> +#ifdef NDEBUG
>> +#define NBD_INTERNAL_FORK_SAFE_ASSERT(expression) ((void)0)
>
> May be affected by outcome of side discussion on 01/29 about whether
> we want space after cast.
>
>> +#else
>> +#define NBD_INTERNAL_FORK_SAFE_ASSERT(expression) \
>> + (nbd_internal_fork_safe_assert ((expression) !=...
2023 Feb 15
1
[libnbd PATCH v3 07/29] lib/utils: add async-signal-safe assert()
On Wed, Feb 15, 2023 at 03:11:36PM +0100, Laszlo Ersek wrote:
> Add an assert() variant that we may call between fork() and exec*().
>
> Signed-off-by: Laszlo Ersek <lersek at redhat.com>
> ---
>
> +++ b/lib/internal.h
> +
> +#ifdef NDEBUG
> +#define NBD_INTERNAL_FORK_SAFE_ASSERT(expression) ((void)0)
May be affected by outcome of side discussion on 01/29 about whether
we want space after cast.
> +#else
> +#define NBD_INTERNAL_FORK_SAFE_ASSERT(expression) \
> + (nbd_internal_fork_safe_assert ((expression) != 0, __FILE__, __LINE__, \
> +...
2023 Mar 15
4
[libnbd PATCH v4 0/3] lib/utils: add async-signal-safe assert()
This is version 4 of the following sub-series:
[libnbd PATCH v3 06/29] lib/utils: introduce xwrite() as a more robust write()
[libnbd PATCH v3 07/29] lib/utils: add async-signal-safe assert()
[libnbd PATCH v3 08/29] lib/utils: add unit test for async-signal-safe assert()
http://mid.mail-archive.com/20230215141158.2426855-7-lersek at redhat.com
2023 Feb 24
1
[libnbd PATCH v3 07/29] lib/utils: add async-signal-safe assert()
...asleep last night), given
> that I heavily used scatter-gather in other, not-so-old, code. (Namely
> the edk2 virtiofs driver.)
>
> I'll attempt to replace xwrite() with xwritev().
No, I won't -- writev() is not required to be async-signal-safe, so it's
not good enough for NBD_INTERNAL_FORK_SAFE_ASSERT().
Laszlo
2023 Mar 19
3
[libnbd PATCH v4 0/2] lib/utils: introduce async-signal-safe execvpe()
....h", not below it
> +
> + - in get_path(), replace the FIXME comments with notes that explain why
> + we don't lock the environment [Eric]
>
> ## lib/internal.h ##
> @@ lib/internal.h: struct command {
> @@ lib/internal.h: extern void nbd_internal_fork_safe_assert (int result, const cha
>
> ## lib/utils.c ##
> @@
> - #include <limits.h>
> + #include <sys/uio.h>
>
> - #include "minmax.h"
> + #include "array-size.h"
> +#include "checked-overflow.h"
> + #...
2023 Mar 23
1
[libnbd PATCH v3 14/19] CONNECT_COMMAND.START: plug child process leak on error
...*/
if (close (sv[0]) == -1) {
nbd_internal_fork_safe_perror ("close");
_exit (126);
}
if (dup2 (sv[1], STDIN_FILENO) == -1 ||
dup2 (sv[1], STDOUT_FILENO) == -1) {
nbd_internal_fork_safe_perror ("dup2");
_exit (126);
}
NBD_INTERNAL_FORK_SAFE_ASSERT (sv[1] != STDIN_FILENO);
NBD_INTERNAL_FORK_SAFE_ASSERT (sv[1] != STDOUT_FILENO);
if (close (sv[1]) == -1) {
nbd_internal_fork_safe_perror ("close");
_exit (126);
}
/* Restore SIGPIPE back to SIG_DFL. */
if (signal (SIGPIPE, SIG_DFL) == SIG_ERR) {...
2023 Mar 23
20
[libnbd PATCH v3 00/19] pass LISTEN_FDNAMES with systemd socket activation
V3 was here:
<http://mid.mail-archive.com/20230215141158.2426855-1-lersek at redhat.com>.
See the Notes section on each patch for the v4 updates.
The series is nearly ready for merging: every patch has at least one R-b
tag, except "socket activation: avoid manipulating the sign bit".
The series builds, and passes "make check" and "make check-valgrind", at
2023 Feb 21
1
[libnbd PATCH v3 07/29] lib/utils: add async-signal-safe assert()
On 2/20/23 19:21, Laszlo Ersek wrote:
> On 2/15/23 21:57, Eric Blake wrote:
>> On Wed, Feb 15, 2023 at 03:11:36PM +0100, Laszlo Ersek wrote:
>>> +
>>> + xwrite (STDERR_FILENO, file, strlen (file));
>>> + xwrite (STDERR_FILENO, ":", 1);
>>
>> Presumably, if our first best-effort xwrite() fails to produce full
>> output, all later
2023 Mar 16
1
[libnbd PATCH v4 3/3] lib/utils: add unit test for async-signal-safe assert()
On 3/15/23 18:25, Eric Blake wrote:
> On Wed, Mar 15, 2023 at 12:01:57PM +0100, Laszlo Ersek wrote:
>> Don't try to test async-signal-safety, only that
>> NBD_INTERNAL_FORK_SAFE_ASSERT() works similarly to assert():
>>
>> - it prints diagnostics to stderr,
>>
>> - it calls abort().
>>
>> Some unfortunate gymnastics are necessary to avoid littering the system
>> with unwanted core dumps.
>>
>> Signed-off-by: Laszlo Ersek <le...
2023 Mar 17
1
[libnbd PATCH v4 3/3] lib/utils: add unit test for async-signal-safe assert()
On Thu, Mar 16, 2023 at 10:50:06AM +0100, Laszlo Ersek wrote:
> On 3/15/23 18:25, Eric Blake wrote:
> > On Wed, Mar 15, 2023 at 12:01:57PM +0100, Laszlo Ersek wrote:
> >> Don't try to test async-signal-safety, only that
> >> NBD_INTERNAL_FORK_SAFE_ASSERT() works similarly to assert():
> >>
> >> - it prints diagnostics to stderr,
> >>
> >> - it calls abort().
> >>
> >> Some unfortunate gymnastics are necessary to avoid littering the system
> >> with unwanted core dumps.
> >>
>...
2023 Mar 25
4
[libnbd PATCH v5 0/4] pass LISTEN_FDNAMES with systemd socket activation
V4 was here (incorrectly versioned on the mailing list as v3):
<http://mid.mail-archive.com/20230323121016.1442655-1-lersek at redhat.com>.
See the Notes section on each patch for the v5 updates.
Laszlo Ersek (2):
socket activation: generalize environment construction
socket activation: set LISTEN_FDNAMES
Richard W.M. Jones (2):
common/include: Copy ascii-ctype functions from nbdkit