diff options
author | default <nobody@localhost> | 2022-11-23 15:34:07 +0100 |
---|---|---|
committer | default <nobody@localhost> | 2022-11-23 15:34:07 +0100 |
commit | 8c44c885e160296b75c55363a8ec6b1178dc9cb7 (patch) | |
tree | 7cc6254356504974e0f4ee2a259d4023a578abcb | |
parent | eb2cde3b6d2ac2a8bdc71b07488b19639d4a8abe (diff) |
Added calls to flock() in object functions.
-rw-r--r-- | data.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -10,8 +10,9 @@ #include "snac.h" #include <time.h> -#include <glob.h> #include <sys/stat.h> +#include <sys/file.h> +#include <fcntl.h> double db_layout = 2.1; @@ -218,6 +219,8 @@ int object_get(const char *id, d_char **obj, const char *type) FILE *f; if ((f = fopen(fn, "r")) != NULL) { + flock(fileno(f), LOCK_SH); + xs *j = xs_readall(f); fclose(f); @@ -252,6 +255,8 @@ int object_add(const char *id, d_char *obj) FILE *f; if ((f = fopen(fn, "w")) != NULL) { + flock(fileno(f), LOCK_EX); + xs *j = xs_json_dumps_pp(obj, 4); fwrite(j, strlen(j), 1, f); |