diff --git a/configure.ac b/configure.ac index 56fa3fb4..b3d00488 100644 --- a/configure.ac +++ b/configure.ac @@ -45,7 +45,7 @@ AC_CHECK_HEADERS(crypt.h utmp.h \ dnl shadow now uses the libc's shadow implementation AC_CHECK_HEADER([shadow.h],,[AC_MSG_ERROR([You need a libc with shadow.h])]) -AC_CHECK_FUNCS(arc4random_buf fsync futimes \ +AC_CHECK_FUNCS(arc4random_buf futimes \ getentropy getrandom getspnam getusershell \ getutent initgroups lckpwdf lutimes \ setgroups updwtmp updwtmpx innetgr getpwnam_r \ diff --git a/lib/commonio.c b/lib/commonio.c index 7234e613..119d506e 100644 --- a/lib/commonio.c +++ b/lib/commonio.c @@ -986,13 +986,11 @@ int commonio_close (struct commonio_db *db) if (fflush (db->fp) != 0) { errors++; } -#ifdef HAVE_FSYNC + if (fsync (fileno (db->fp)) != 0) { errors++; } -#else /* !HAVE_FSYNC */ - sync (); -#endif /* !HAVE_FSYNC */ + if (fclose (db->fp) != 0) { errors++; }