|
@@ -816,6 +816,11 @@ tar_deferred_extract(struct fileinlist *files, struct pkginfo *pkg)
|
|
|
struct filenamenode *usenode;
|
|
struct filenamenode *usenode;
|
|
|
const char *usename;
|
|
const char *usename;
|
|
|
|
|
|
|
|
|
|
+#if !defined(HAVE_ASYNC_SYNC)
|
|
|
|
|
+ debug(dbg_general, "deferred extract mass sync");
|
|
|
|
|
+ sync();
|
|
|
|
|
+#endif
|
|
|
|
|
+
|
|
|
for (cfile = files; cfile; cfile = cfile->next) {
|
|
for (cfile = files; cfile; cfile = cfile->next) {
|
|
|
debug(dbg_eachfile, "deferred extract of '%.255s'", cfile->namenode->name);
|
|
debug(dbg_eachfile, "deferred extract of '%.255s'", cfile->namenode->name);
|
|
|
|
|
|
|
@@ -829,6 +834,7 @@ tar_deferred_extract(struct fileinlist *files, struct pkginfo *pkg)
|
|
|
|
|
|
|
|
setupfnamevbs(usename);
|
|
setupfnamevbs(usename);
|
|
|
|
|
|
|
|
|
|
+#if defined(HAVE_ASYNC_SYNC)
|
|
|
if (cfile->namenode->flags & fnnf_deferred_fsync) {
|
|
if (cfile->namenode->flags & fnnf_deferred_fsync) {
|
|
|
int fd;
|
|
int fd;
|
|
|
|
|
|
|
@@ -844,6 +850,7 @@ tar_deferred_extract(struct fileinlist *files, struct pkginfo *pkg)
|
|
|
|
|
|
|
|
cfile->namenode->flags &= ~fnnf_deferred_fsync;
|
|
cfile->namenode->flags &= ~fnnf_deferred_fsync;
|
|
|
}
|
|
}
|
|
|
|
|
+#endif
|
|
|
|
|
|
|
|
if (rename(fnamenewvb.buf, fnamevb.buf))
|
|
if (rename(fnamenewvb.buf, fnamevb.buf))
|
|
|
ohshite(_("unable to install new version of `%.255s'"),
|
|
ohshite(_("unable to install new version of `%.255s'"),
|