|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [Qemu-devel] [PATCH 15/16] os-posix: cleanup: Replace perror with error_report
On Tue, Apr 24, 2018 at 03:53:48PM +0100, Ian Jackson wrote:
> Philippe Mathieu-Daudé writes ("Re: [Qemu-devel] [PATCH 15/16] os-posix:
> cleanup: Replace perror with error_report"):
> > On 04/19/2018 01:45 PM, Ian Jackson wrote:
> > > - perror("mlockall");
> > > + error_report("mlockall: %s", strerror(errno));
> > > }
> > >
> > > return ret;
> >
> > Thinking loudly, maybe we can refactor as error_report_errno(const char
> > *desc)...
>
> git-grep 'error_report.*errno' shows a lot of call sites that do
> something more exciting than const char *desc would support.
>
> I think the right approach would be
>
> - static void vreport(report_type type, const char *fmt, va_list ap)
> + static void vreport(report_type type, int errnoval, const char *fmt,
> va_list ap)
> ...
> + if (errnoval >= 0) {
> + error_printf(": %s", strerror(errnoval);
> + }
>
> and then add both
> error_report_errno
> error_vreport_errno
> with the obvious semantics.
That would be nice, because then we can make these two functions actually
use strerror_r() instead of strerror(), for thread safety on all platforms.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |