aboutsummaryrefslogtreecommitdiff
path: root/src/datacache/datacache.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2009-07-27 20:07:24 +0000
committerChristian Grothoff <christian@grothoff.org>2009-07-27 20:07:24 +0000
commitfe9ed98ff54df7d65dd0a0f787c86a734ef4d1a4 (patch)
tree81738f3a8a167533ddf001a72809dfa5015186de /src/datacache/datacache.c
parentc5cda378386d01412ada7fbf8d51317bab1ab695 (diff)
downloadgnunet-fe9ed98ff54df7d65dd0a0f787c86a734ef4d1a4.tar.gz
gnunet-fe9ed98ff54df7d65dd0a0f787c86a734ef4d1a4.zip
mktemp
Diffstat (limited to 'src/datacache/datacache.c')
-rw-r--r--src/datacache/datacache.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/datacache/datacache.c b/src/datacache/datacache.c
index 421acac0f..3b233d16d 100644
--- a/src/datacache/datacache.c
+++ b/src/datacache/datacache.c
@@ -121,7 +121,6 @@ GNUNET_DATACACHE_create (struct GNUNET_SCHEDULER_Handle *sched,
121 const struct GNUNET_CONFIGURATION_Handle *cfg, 121 const struct GNUNET_CONFIGURATION_Handle *cfg,
122 const char *section) 122 const char *section)
123{ 123{
124 int fd;
125 unsigned int bf_size; 124 unsigned int bf_size;
126 unsigned long long quota; 125 unsigned long long quota;
127 struct GNUNET_DATACACHE_Handle *ret; 126 struct GNUNET_DATACACHE_Handle *ret;
@@ -152,14 +151,13 @@ GNUNET_DATACACHE_create (struct GNUNET_SCHEDULER_Handle *sched,
152 bf_size = quota / 32; /* 8 bit per entry, 1 bit per 32 kb in DB */ 151 bf_size = quota / 32; /* 8 bit per entry, 1 bit per 32 kb in DB */
153 152
154 ret = GNUNET_malloc (sizeof(struct GNUNET_DATACACHE_Handle)); 153 ret = GNUNET_malloc (sizeof(struct GNUNET_DATACACHE_Handle));
155 ret->bloom_name = GNUNET_strdup ("/tmp/datacachebloomXXXXXX"); 154 ret->bloom_name = GNUNET_DISK_mktemp ("datacachebloom");
156 fd = mkstemp (ret->bloom_name); 155
157 if (fd != -1) 156 if (ret->bloom_name)
158 { 157 {
159 ret->filter = GNUNET_CONTAINER_bloomfilter_load (ret->bloom_name, 158 ret->filter = GNUNET_CONTAINER_bloomfilter_load (ret->bloom_name,
160 quota / 1024, /* 8 bit per entry in DB, expect 1k entries */ 159 quota / 1024, /* 8 bit per entry in DB, expect 1k entries */
161 5); 160 5);
162 CLOSE (fd);
163 } 161 }
164 else 162 else
165 { 163 {
@@ -206,7 +204,10 @@ void GNUNET_DATACACHE_destroy (struct GNUNET_DATACACHE_Handle *h)
206 GNUNET_free (h->section); 204 GNUNET_free (h->section);
207 if (h->bloom_name != NULL) 205 if (h->bloom_name != NULL)
208 { 206 {
209 UNLINK (h->bloom_name); 207 if (0 != UNLINK (h->bloom_name))
208 GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_WARNING,
209 "unlink",
210 h->bloom_name);
210 GNUNET_free (h->bloom_name); 211 GNUNET_free (h->bloom_name);
211 } 212 }
212 GNUNET_free (h); 213 GNUNET_free (h);