On 9/30/19 4:27 PM, Eric Blake wrote:
On 9/30/19 11:32 AM, Richard W.M. Jones wrote:
perror is not fork-safe and so could deadlock. Instead open code a
fork-safe version of perror. While this fixes the current behaviour,
in the long term we'd like to capture the error message into the usual
error mechanism, so this is not the full and final fix for this issue.
Also this fixes the exit code to be 126/127 instead of 1.
+ write (2, s, strlen (s));
Surprisingly, strlen() is not listed in current POSIX' list of
async-signal-safe functions. But I have an open bug to remedy that, and
don't see any problem in using it.
Correction - I forgot my own history. POSIX 2008 had indeed omitted it,
but my bug was accepted, and strlen() _is_ async-signal-safe in POSIX
2017, per http://austingroupbugs.net/view.php?id=692
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization: qemu.org | libvirt.org
_______________________________________________
Libguestfs mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/libguestfs