summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--src/bucket.c6
-rw-r--r--src/falloc.c4
-rw-r--r--src/findkey.c2
-rw-r--r--src/fullio.c4
-rw-r--r--src/gdbmclose.c2
-rw-r--r--src/gdbmopen.c4
-rw-r--r--src/gdbmsetopt.c2
-rw-r--r--src/gdbmstore.c2
-rw-r--r--src/gdbmsync.c2
-rw-r--r--src/gdbmtool.c4
-rw-r--r--src/proto.h20
-rw-r--r--src/recover.c2
-rw-r--r--src/systems.h16
-rw-r--r--src/update.c8
14 files changed, 41 insertions, 37 deletions
diff --git a/src/bucket.c b/src/bucket.c
index 2289594..e17019c 100644
--- a/src/bucket.c
+++ b/src/bucket.c
@@ -112,7 +112,7 @@ _gdbm_get_bucket (GDBM_FILE dbf, int dir_index)
/* It is not in the cache, read it from the disk. */
/* Position the file pointer */
- file_pos = __lseek (dbf, bucket_adr, SEEK_SET);
+ file_pos = gdbm_file_seek (dbf, bucket_adr, SEEK_SET);
if (file_pos != bucket_adr)
{
GDBM_SET_ERRNO (dbf, GDBM_FILE_SEEK_ERROR, TRUE);
@@ -187,7 +187,7 @@ _gdbm_read_bucket_at (GDBM_FILE dbf, off_t off, hash_bucket *bucket,
}
/* Read the bucket. */
- file_pos = __lseek (dbf, off, SEEK_SET);
+ file_pos = gdbm_file_seek (dbf, off, SEEK_SET);
if (file_pos != off)
{
GDBM_SET_ERRNO (dbf, GDBM_FILE_SEEK_ERROR, TRUE);
@@ -432,7 +432,7 @@ _gdbm_write_bucket (GDBM_FILE dbf, cache_elem *ca_entry)
int rc;
off_t file_pos; /* The return value for lseek. */
- file_pos = __lseek (dbf, ca_entry->ca_adr, SEEK_SET);
+ file_pos = gdbm_file_seek (dbf, ca_entry->ca_adr, SEEK_SET);
if (file_pos != ca_entry->ca_adr)
{
GDBM_SET_ERRNO (dbf, GDBM_FILE_SEEK_ERROR, TRUE);
diff --git a/src/falloc.c b/src/falloc.c
index 13ee0ed..2f21ebe 100644
--- a/src/falloc.c
+++ b/src/falloc.c
@@ -191,7 +191,7 @@ pop_avail_block (GDBM_FILE dbf)
}
/* Read the block. */
- file_pos = __lseek (dbf, new_el.av_adr, SEEK_SET);
+ file_pos = gdbm_file_seek (dbf, new_el.av_adr, SEEK_SET);
if (file_pos != new_el.av_adr)
{
GDBM_SET_ERRNO (dbf, GDBM_FILE_SEEK_ERROR, TRUE);
@@ -321,7 +321,7 @@ push_avail_block (GDBM_FILE dbf)
_gdbm_free (dbf, new_loc.av_adr, new_loc.av_size);
/* Update the disk. */
- file_pos = __lseek (dbf, av_adr, SEEK_SET);
+ file_pos = gdbm_file_seek (dbf, av_adr, SEEK_SET);
if (file_pos != av_adr)
{
GDBM_SET_ERRNO (dbf, GDBM_FILE_SEEK_ERROR, TRUE);
diff --git a/src/findkey.c b/src/findkey.c
index 9bb4553..9c8fd71 100644
--- a/src/findkey.c
+++ b/src/findkey.c
@@ -83,7 +83,7 @@ _gdbm_read_entry (GDBM_FILE dbf, int elem_loc)
}
/* Read into the cache. */
- file_pos = __lseek (dbf, dbf->bucket->h_table[elem_loc].data_pointer,
+ file_pos = gdbm_file_seek (dbf, dbf->bucket->h_table[elem_loc].data_pointer,
SEEK_SET);
if (file_pos != dbf->bucket->h_table[elem_loc].data_pointer)
{
diff --git a/src/fullio.c b/src/fullio.c
index bdb51cb..84eea60 100644
--- a/src/fullio.c
+++ b/src/fullio.c
@@ -27,7 +27,7 @@ _gdbm_full_read (GDBM_FILE dbf, void *buffer, size_t size)
char *ptr = buffer;
while (size)
{
- ssize_t rdbytes = __read (dbf, ptr, size);
+ ssize_t rdbytes = gdbm_file_read (dbf, ptr, size);
if (rdbytes == -1)
{
if (errno == EINTR)
@@ -55,7 +55,7 @@ _gdbm_full_write (GDBM_FILE dbf, void *buffer, size_t size)
char *ptr = buffer;
while (size)
{
- ssize_t wrbytes = __write (dbf, ptr, size);
+ ssize_t wrbytes = gdbm_file_write (dbf, ptr, size);
if (wrbytes == -1)
{
if (errno == EINTR)
diff --git a/src/gdbmclose.c b/src/gdbmclose.c
index c638183..ead9187 100644
--- a/src/gdbmclose.c
+++ b/src/gdbmclose.c
@@ -35,7 +35,7 @@ gdbm_close (GDBM_FILE dbf)
{
/* Make sure the database is all on disk. */
if (dbf->read_write != GDBM_READER)
- __fsync (dbf);
+ gdbm_file_sync (dbf);
/* Close the file and free all malloced memory. */
#if HAVE_MMAP
diff --git a/src/gdbmopen.c b/src/gdbmopen.c
index 22e7ca6..53d62a4 100644
--- a/src/gdbmopen.c
+++ b/src/gdbmopen.c
@@ -429,7 +429,7 @@ gdbm_fd_open (int fd, const char *file_name, int block_size,
}
/* Wait for initial configuration to be written to disk. */
- __fsync (dbf);
+ gdbm_file_sync (dbf);
free (dbf->bucket);
}
@@ -508,7 +508,7 @@ gdbm_fd_open (int fd, const char *file_name, int block_size,
}
/* Read the hash table directory. */
- file_pos = __lseek (dbf, dbf->header->dir, SEEK_SET);
+ file_pos = gdbm_file_seek (dbf, dbf->header->dir, SEEK_SET);
if (file_pos != dbf->header->dir)
{
if (!(flags & GDBM_CLOERROR))
diff --git a/src/gdbmsetopt.c b/src/gdbmsetopt.c
index ca62290..69e244c 100644
--- a/src/gdbmsetopt.c
+++ b/src/gdbmsetopt.c
@@ -190,7 +190,7 @@ setopt_gdbm_setmmap (GDBM_FILE dbf, void *optval, int optlen)
GDBM_SET_ERRNO (dbf, GDBM_OPT_ILLEGAL, FALSE);
return -1;
}
- __fsync (dbf);
+ gdbm_file_sync (dbf);
if (n == dbf->memory_mapping)
return 0;
if (n)
diff --git a/src/gdbmstore.c b/src/gdbmstore.c
index 6b498b2..b8a1e66 100644
--- a/src/gdbmstore.c
+++ b/src/gdbmstore.c
@@ -160,7 +160,7 @@ gdbm_store (GDBM_FILE dbf, datum key, datum content, int flags)
dbf->bucket->h_table[elem_loc].data_size = content.dsize;
/* Write the data to the file. */
- file_pos = __lseek (dbf, file_adr, SEEK_SET);
+ file_pos = gdbm_file_seek (dbf, file_adr, SEEK_SET);
if (file_pos != file_adr)
{
GDBM_DEBUG (GDBM_DEBUG_STORE|GDBM_DEBUG_ERR,
diff --git a/src/gdbmsync.c b/src/gdbmsync.c
index 10fbaad..5d94cbe 100644
--- a/src/gdbmsync.c
+++ b/src/gdbmsync.c
@@ -34,6 +34,6 @@ gdbm_sync (GDBM_FILE dbf)
gdbm_set_errno (dbf, GDBM_NO_ERROR, FALSE);
/* Do the sync on the file. */
- __fsync (dbf);
+ gdbm_file_sync (dbf);
}
diff --git a/src/gdbmtool.c b/src/gdbmtool.c
index 11b6f20..dbb7510 100644
--- a/src/gdbmtool.c
+++ b/src/gdbmtool.c
@@ -227,7 +227,7 @@ _gdbm_avail_list_size (GDBM_FILE dbf, size_t min_size)
/* Traverse the stack. */
while (temp)
{
- if (__lseek (dbf, temp, SEEK_SET) != temp)
+ if (gdbm_file_seek (dbf, temp, SEEK_SET) != temp)
{
terror ("lseek: %s", strerror (errno));
break;
@@ -285,7 +285,7 @@ _gdbm_print_avail_list (FILE *fp, GDBM_FILE dbf)
/* Print the stack. */
while (temp)
{
- if (__lseek (dbf, temp, SEEK_SET) != temp)
+ if (gdbm_file_seek (dbf, temp, SEEK_SET) != temp)
{
terror ("lseek: %s", strerror (errno));
break;
diff --git a/src/proto.h b/src/proto.h
index 9592f52..563505f 100644
--- a/src/proto.h
+++ b/src/proto.h
@@ -83,4 +83,24 @@ int _gdbm_dump (GDBM_FILE dbf, FILE *fp);
/* From recover.c */
int _gdbm_next_bucket_dir (GDBM_FILE dbf, int bucket_dir);
+/* I/O macros. */
+#if HAVE_MMAP
+# define gdbm_file_read(_dbf, _buf, _size) \
+ _gdbm_mapped_read(_dbf, _buf, _size)
+# define gdbm_file_write(_dbf, _buf, _size) \
+ _gdbm_mapped_write(_dbf, _buf, _size)
+# define gdbm_file_seek(_dbf, _off, _whn) \
+ _gdbm_mapped_lseek(_dbf, _off, _whn)
+# define gdbm_file_sync(_dbf) \
+ _gdbm_mapped_sync(_dbf)
+#else
+# define gdbm_file_read(_dbf, _buf, _size) read(_dbf->desc, _buf, _size)
+# define gdbm_file_write(_dbf, _buf, _size) write(_dbf->desc, _buf, _size)
+# define gdbm_file_seek(_dbf, _off, _whn) lseek(_dbf->desc, _off, _whn)
+# if HAVE_FSYNC
+# define gdbm_file_sync(_dbf) fsync(_dbf->desc)
+# else
+# define gdbm_file_sync(_dbf) { sync(); sync(); }
+# endif
+#endif
diff --git a/src/recover.c b/src/recover.c
index 074c76f..f6859ea 100644
--- a/src/recover.c
+++ b/src/recover.c
@@ -178,7 +178,7 @@ _gdbm_finish_transfer (GDBM_FILE dbf, GDBM_FILE new_dbf,
#endif
/* Make sure the new database is all on disk. */
- __fsync (dbf);
+ gdbm_file_sync (dbf);
/* Force the right stuff for a correct bucket cache. */
dbf->cache_entry = &dbf->bucket_cache[0];
diff --git a/src/systems.h b/src/systems.h
index c678573..750aa51 100644
--- a/src/systems.h
+++ b/src/systems.h
@@ -63,20 +63,4 @@
# define STDERR_FILENO 2
#endif
-/* I/O macros. */
-#if HAVE_MMAP
-# define __read(_dbf, _buf, _size) _gdbm_mapped_read(_dbf, _buf, _size)
-# define __write(_dbf, _buf, _size) _gdbm_mapped_write(_dbf, _buf, _size)
-# define __lseek(_dbf, _off, _whn) _gdbm_mapped_lseek(_dbf, _off, _whn)
-# define __fsync(_dbf) _gdbm_mapped_sync(_dbf)
-#else
-# define __read(_dbf, _buf, _size) read(_dbf->desc, _buf, _size)
-# define __write(_dbf, _buf, _size) write(_dbf->desc, _buf, _size)
-# define __lseek(_dbf, _off, _whn) lseek(_dbf->desc, _off, _whn)
-# if HAVE_FSYNC
-# define __fsync(_dbf) fsync(_dbf->desc)
-# else
-# define __fsync(_dbf) { sync(); sync(); }
-# endif
-#endif
diff --git a/src/update.c b/src/update.c
index f4b8b78..e3ee717 100644
--- a/src/update.c
+++ b/src/update.c
@@ -30,7 +30,7 @@ write_header (GDBM_FILE dbf)
off_t file_pos; /* Return value for lseek. */
int rc;
- file_pos = __lseek (dbf, 0L, SEEK_SET);
+ file_pos = gdbm_file_seek (dbf, 0L, SEEK_SET);
if (file_pos != 0)
{
GDBM_SET_ERRNO2 (dbf, GDBM_FILE_SEEK_ERROR, TRUE, GDBM_DEBUG_STORE);
@@ -50,7 +50,7 @@ write_header (GDBM_FILE dbf)
/* Sync the file if fast_write is FALSE. */
if (dbf->fast_write == FALSE)
- __fsync (dbf);
+ gdbm_file_sync (dbf);
return 0;
}
@@ -94,7 +94,7 @@ _gdbm_end_update (GDBM_FILE dbf)
/* Write the directory. */
if (dbf->directory_changed)
{
- file_pos = __lseek (dbf, dbf->header->dir, SEEK_SET);
+ file_pos = gdbm_file_seek (dbf, dbf->header->dir, SEEK_SET);
if (file_pos != dbf->header->dir)
{
GDBM_SET_ERRNO2 (dbf, GDBM_FILE_SEEK_ERROR, TRUE, GDBM_DEBUG_STORE);
@@ -114,7 +114,7 @@ _gdbm_end_update (GDBM_FILE dbf)
dbf->directory_changed = FALSE;
if (!dbf->header_changed && dbf->fast_write == FALSE)
- __fsync (dbf);
+ gdbm_file_sync (dbf);
}
/* Final write of the header. */

Return to:

Send suggestions and report system problems to the System administrator.