On Mon, Oct 18, 2021 at 10:12:49PM +0100, Richard W.M. Jones wrote:
 On Mon, Oct 18, 2021 at 08:27:36PM +0200, Laszlo Ersek wrote:
 > On 10/15/21 16:17, Richard W.M. Jones wrote:
 > > +#ifndef HAVE_CURLOPT_UNIX_SOCKET_PATH
 > > +  fprintf (stderr, "%s: curl does not support
CURLOPT_UNIX_SOCKET_PATH\n",
 > > +           argv[0]);
 > > +  exit (77);
 > > +#endif
 > > +
 > > +  sockpath = web_server ("disk", NULL);
 > > +  if (sockpath == NULL) {
 > > +    fprintf (stderr, "%s: could not start web server thread\n",
argv[0]);
 > > +    exit (EXIT_FAILURE);
 > > +  }
 > > +
 > > +  /* Start nbdkit. */
 > > +  if (asprintf (&usp_param, "unix-socket-path=%s", sockpath) ==
-1) {
 > > +    perror ("asprintf");
 > > +    exit (EXIT_FAILURE);
 > 
 > Is exit() safe here (with the web server running in another thread)?
 
 I didn't know, but I temporarily modified the test changing #ifndef ->
 #ifdef above and it did exit (skip) fine. 
Actually not a good test, because that happens before the web server
launches.  Inserting an exit later in the code works as expected.
Rich.
-- 
Richard Jones, Virtualization Group, Red Hat 
http://people.redhat.com/~rjones
Read my programming and virtualization blog: 
http://rwmj.wordpress.com
libguestfs lets you edit virtual machines.  Supports shell scripting,
bindings from many languages.  
http://libguestfs.org