diff options
author | Richard Jones <rjones@redhat.com> | 2009-04-04 10:41:34 +0100 |
---|---|---|
committer | Richard Jones <rjones@redhat.com> | 2009-04-04 10:41:34 +0100 |
commit | c9cc61940b41b1abb763a1932adfc3461372c10b (patch) | |
tree | 891b310f73b6d1166b59d91ec6f541923c9ab5e6 /src | |
parent | 64a5ae0e969754c709974104a83e6d1dbb4c2764 (diff) | |
download | libguestfs-c9cc61940b41b1abb763a1932adfc3461372c10b.tar.gz libguestfs-c9cc61940b41b1abb763a1932adfc3461372c10b.tar.xz libguestfs-c9cc61940b41b1abb763a1932adfc3461372c10b.zip |
Implemented autosync, make it the default for guestfish.
Diffstat (limited to 'src')
-rw-r--r-- | src/guestfs.c | 17 | ||||
-rw-r--r-- | src/guestfs.h | 3 |
2 files changed, 20 insertions, 0 deletions
diff --git a/src/guestfs.c b/src/guestfs.c index 0c0a37fe..747aae50 100644 --- a/src/guestfs.c +++ b/src/guestfs.c @@ -116,6 +116,7 @@ struct guestfs_h int cmdline_size; int verbose; + int autosync; /* Callbacks. */ guestfs_abort_cb abort_cb; @@ -216,6 +217,10 @@ guestfs_close (guestfs_h *g) if (g->verbose) fprintf (stderr, "closing guestfs handle %p (state %d)\n", g, g->state); + /* Try to sync if autosync flag is set. */ + if (g->autosync && g->state == READY) + guestfs_sync (g); + /* Remove any handlers that might be called back before we kill the * subprocess. */ @@ -378,6 +383,18 @@ guestfs_get_verbose (guestfs_h *g) return g->verbose; } +void +guestfs_set_autosync (guestfs_h *g, int a) +{ + g->autosync = a; +} + +int +guestfs_get_autosync (guestfs_h *g) +{ + return g->autosync; +} + /* Add a string to the current command line. */ static void incr_cmdline_size (guestfs_h *g) diff --git a/src/guestfs.h b/src/guestfs.h index fbfcb3ca..3a09b95b 100644 --- a/src/guestfs.h +++ b/src/guestfs.h @@ -51,8 +51,11 @@ extern guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g, void ** extern void guestfs_set_out_of_memory_handler (guestfs_h *g, guestfs_abort_cb); extern guestfs_abort_cb guestfs_get_out_of_memory_handler (guestfs_h *g); +/* Misc. */ extern void guestfs_set_verbose (guestfs_h *g, int verbose); extern int guestfs_get_verbose (guestfs_h *g); +extern void guestfs_set_autosync (guestfs_h *g, int a); +extern int guestfs_get_autosync (guestfs_h *g); #include <guestfs-actions.h> |