summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2019-01-08 13:46:48 -0600
committerEric Blake <eblake@redhat.com>2019-01-08 14:47:04 -0600
commit414afc8dbe5630d93c0d192320a8b60d35a20ea1 (patch)
treefeade96f325432ee44af4f94b9d4f306db528452
parent358b6b593ec7e5afbb785be25c8525538f350850 (diff)
downloadlibvirt-414afc8dbe5630d93c0d192320a8b60d35a20ea1.tar.gz
examples: Work around lack of mingw sigaction()
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@redhat.com> Reviewed-by: John Ferlan <jferlan@redhat.com>
-rw-r--r--examples/domtop/domtop.c10
-rw-r--r--examples/object-events/event-test.c11
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");