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

Reply via email to