mingw lacks sigaction(); we were getting it from gnulib. But since commit acf522e8 stopped linking examples against gnulib, we are getting a build failure. Keep the examples standalone, and work around mingw by using signal() instead. Signed-off-by: Eric Blake <eblake@xxxxxxxxxx> --- examples/domtop/domtop.c | 10 ++++------ examples/object-events/event-test.c | 11 ++++------- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/examples/domtop/domtop.c b/examples/domtop/domtop.c index ada5a064fb..008065c651 100644 --- a/examples/domtop/domtop.c +++ b/examples/domtop/domtop.c @@ -266,10 +266,6 @@ do_top(virConnectPtr conn, int max_id = 0; int nparams = 0, then_nparams = 0, now_nparams = 0; virTypedParameterPtr then_params = NULL, now_params = NULL; - struct sigaction action_stop; - - memset(&action_stop, 0, sizeof(action_stop)); - action_stop.sa_handler = stop; /* Lookup the domain */ if (!(dom = virDomainLookupByName(conn, dom_name))) { @@ -295,8 +291,10 @@ do_top(virConnectPtr conn, goto cleanup; } - sigaction(SIGTERM, &action_stop, NULL); - sigaction(SIGINT, &action_stop, NULL); + /* The ideal program would use sigaction to set this handler, but + * this way is portable to mingw. */ + signal(SIGTERM, stop); + signal(SIGINT, stop); run_top = true; while (run_top) { diff --git a/examples/object-events/event-test.c b/examples/object-events/event-test.c index 0c99fb33e3..fcf4492470 100644 --- a/examples/object-events/event-test.c +++ b/examples/object-events/event-test.c @@ -1147,13 +1147,8 @@ main(int argc, char **argv) virConnectPtr dconn = NULL; int callback1ret = -1; int callback16ret = -1; - struct sigaction action_stop; size_t i; - memset(&action_stop, 0, sizeof(action_stop)); - - action_stop.sa_handler = stop; - if (argc > 1 && STREQ(argv[1], "--help")) { printf("%s uri\n", argv[0]); goto cleanup; @@ -1184,8 +1179,10 @@ main(int argc, char **argv) goto cleanup; } - sigaction(SIGTERM, &action_stop, NULL); - sigaction(SIGINT, &action_stop, NULL); + /* The ideal program would use sigaction to set this handler, but + * this way is portable to mingw. */ + signal(SIGTERM, stop); + signal(SIGINT, stop); printf("Registering event callbacks\n"); -- 2.20.1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list