Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/cut-n-paste/recent-files/egg-recent-model.c
diff options
context:
space:
mode:
Diffstat (limited to 'cut-n-paste/recent-files/egg-recent-model.c')
-rw-r--r--cut-n-paste/recent-files/egg-recent-model.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/cut-n-paste/recent-files/egg-recent-model.c b/cut-n-paste/recent-files/egg-recent-model.c
index 8b3abe5..067a635 100644
--- a/cut-n-paste/recent-files/egg-recent-model.c
+++ b/cut-n-paste/recent-files/egg-recent-model.c
@@ -193,7 +193,9 @@ egg_recent_model_write_raw (EggRecentModel *model, FILE *file,
if (fputs (content, file) == EOF)
return FALSE;
+#ifndef G_OS_WIN32
fsync (fd);
+#endif
rewind (file);
return TRUE;
@@ -884,6 +886,7 @@ egg_recent_model_open_file (EggRecentModel *model)
static gboolean
egg_recent_model_lock_file (FILE *file)
{
+#ifdef F_TLOCK
int fd;
gint try = 5;
@@ -913,17 +916,24 @@ egg_recent_model_lock_file (FILE *file)
}
return FALSE;
+#else
+ return TRUE;
+#endif
}
static gboolean
egg_recent_model_unlock_file (FILE *file)
{
+#ifdef F_TLOCK
int fd;
rewind (file);
fd = fileno (file);
return (lockf (fd, F_ULOCK, 0) == 0) ? TRUE : FALSE;
+#else
+ return TRUE;
+#endif
}
static void