aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/tools/fsync/Makefile33
-rw-r--r--src/tools/fsync/test_fsync.c23
2 files changed, 37 insertions, 19 deletions
diff --git a/src/tools/fsync/Makefile b/src/tools/fsync/Makefile
index fa0f0afdbe3..09d7a416112 100644
--- a/src/tools/fsync/Makefile
+++ b/src/tools/fsync/Makefile
@@ -1,22 +1,25 @@
+#-------------------------------------------------------------------------
#
-# Makefile
+# Makefile for src/tools/fsync
#
+# Copyright (c) 2003-2006, PostgreSQL Global Development Group
#
-TARGET = test_fsync
-XFLAGS =
-CFLAGS = -O
-LIBS =
+# $PostgreSQL: pgsql/src/tools/fsync/Makefile,v 1.3 2006/10/13 14:19:29 momjian Exp $
+#
+#-------------------------------------------------------------------------
+
+subdir = src/tools/fsync
+top_builddir = ../../..
+include $(top_builddir)/src/Makefile.global
+
+override CPPFLAGS := -DFRONTEND -I$(libpq_srcdir) $(CPPFLAGS)
-$(TARGET) : test_fsync.o
- $(CC) -o $(TARGET) $(XFLAGS) $(CFLAGS) test_fsync.o $(LIBS)
+OBJS= test_fsync.o
-test_fsync.o : test_fsync.c
- $(CC) -c $(XFLAGS) $(CFLAGS) test_fsync.c
+all: submake-libpq submake-libpgport test_fsync
-clean:
- rm -f *.o $(TARGET) log core
+test_fsync: test_fsync.o $(libpq_builddir)/libpq.a
+ $(CC) $(CFLAGS) test_fsync.o $(libpq_pgport) $(LDFLAGS) $(LIBS) -o $@$(X)
-install:
- make clean
- make CFLAGS=-O
- install -s -o bin -g bin $(TARGET) /usr/local/bin
+clean distclean maintainer-clean:
+ rm -f test_fsync$(X) $(OBJS)
diff --git a/src/tools/fsync/test_fsync.c b/src/tools/fsync/test_fsync.c
index 7ba648b29ff..32d3aff003b 100644
--- a/src/tools/fsync/test_fsync.c
+++ b/src/tools/fsync/test_fsync.c
@@ -4,6 +4,7 @@
*/
#include "../../include/pg_config.h"
+#include "../../include/pg_config_os.h"
#include <sys/types.h>
#include <sys/stat.h>
@@ -14,13 +15,19 @@
#include <sys/time.h>
#include <unistd.h>
+#ifdef WIN32
+#define FSYNC_FILENAME "./test_fsync.out"
+#else
#define FSYNC_FILENAME "/var/tmp/test_fsync.out"
+#endif
/* O_SYNC and O_FSYNC are the same */
#if defined(O_SYNC)
#define OPEN_SYNC_FLAG O_SYNC
#elif defined(O_FSYNC)
#define OPEN_SYNC_FLAG O_FSYNC
+#elif defined(O_DSYNC)
+#define OPEN_DATASYNC_FLAG O_DSYNC
#endif
#if defined(OPEN_SYNC_FLAG)
@@ -122,6 +129,7 @@ main(int argc, char *argv[])
printf("\nCompare one o_sync write to two:\n");
+#ifdef OPEN_SYNC_FLAG
/* 16k o_sync write */
if ((tmpfile = open(filename, O_RDWR | OPEN_SYNC_FLAG)) == -1)
die("Cannot open output file.");
@@ -150,6 +158,10 @@ main(int argc, char *argv[])
printf("\n");
printf("\nCompare file sync methods with one 8k write:\n");
+#else
+ printf("\t(o_sync unavailable) ");
+#endif
+ printf("\n");
#ifdef OPEN_DATASYNC_FLAG
/* open_dsync, write */
@@ -162,11 +174,8 @@ main(int argc, char *argv[])
close(tmpfile);
printf("\topen o_dsync, write ");
print_elapse(start_t, elapse_t);
-#else
- printf("\t(o_dsync unavailable) ");
-#endif
printf("\n");
-
+#ifdef OPEN_SYNC_FLAG
/* open_fsync, write */
if ((tmpfile = open(filename, O_RDWR | OPEN_SYNC_FLAG)) == -1)
die("Cannot open output file.");
@@ -177,6 +186,10 @@ main(int argc, char *argv[])
close(tmpfile);
printf("\topen o_sync, write ");
print_elapse(start_t, elapse_t);
+#endif
+#else
+ printf("\t(o_dsync unavailable) ");
+#endif
printf("\n");
#ifdef HAVE_FDATASYNC
@@ -234,6 +247,7 @@ main(int argc, char *argv[])
#endif
printf("\n");
+#ifdef OPEN_SYNC_FLAG
/* open_fsync, write */
if ((tmpfile = open(filename, O_RDWR | OPEN_SYNC_FLAG)) == -1)
die("Cannot open output file.");
@@ -248,6 +262,7 @@ main(int argc, char *argv[])
printf("\topen o_sync, write ");
print_elapse(start_t, elapse_t);
printf("\n");
+#endif
#ifdef HAVE_FDATASYNC
/* write, fdatasync */