From 602eb616231b4606ca09dc2f98b1c3d22b8538d5 Mon Sep 17 00:00:00 2001 From: "Enno Boland (tox)" Date: Thu, 6 May 2010 13:58:49 +0200 Subject: [PATCH] implementing naive file locking. --- surf.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/surf.c b/surf.c index 6e3db36..01b6fb1 100644 --- a/surf.c +++ b/surf.c @@ -18,6 +18,7 @@ #include #include #include +#include #define LENGTH(x) (sizeof x / sizeof x[0]) #define CLEANMASK(mask) (mask & ~(GDK_MOD2_MASK)) @@ -703,6 +704,10 @@ scroll(Client *c, const Arg *arg) { void setcookie(SoupCookie *c) { + int lock; + + lock = open(cookiefile, 0); + flock(lock, LOCK_EX); SoupDate *e; SoupCookieJar *j = soup_cookie_jar_text_new(cookiefile, FALSE); c = soup_cookie_copy(c); @@ -712,6 +717,8 @@ setcookie(SoupCookie *c) { } soup_cookie_jar_add_cookie(j, c); g_object_unref(j); + flock(lock, LOCK_UN); + close(lock); } void