summaryrefslogtreecommitdiff
path: root/src/os.c
diff options
context:
space:
mode:
authorHans-Christoph Steiner <hans@eds.org>2013-08-13 15:42:54 -0400
committerHans-Christoph Steiner <hans@eds.org>2013-08-13 15:42:54 -0400
commit08119c361d1181b3e8f1abb429236e488a664753 (patch)
tree77e5a8b6d411ca32c360c7e48df5c293b1e0baac /src/os.c
parent1b5ba8e022836fa8ab93bc90df1b34a29ea6e134 (diff)
Imported Upstream version 2.2.1
Diffstat (limited to 'src/os.c')
-rw-r--r--src/os.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/os.c b/src/os.c
index b5e918a..be2ea4c 100644
--- a/src/os.c
+++ b/src/os.c
@@ -141,6 +141,26 @@ int sqlite3OsShmMap(
return id->pMethods->xShmMap(id, iPage, pgsz, bExtend, pp);
}
+#if SQLITE_MAX_MMAP_SIZE>0
+/* The real implementation of xFetch and xUnfetch */
+int sqlite3OsFetch(sqlite3_file *id, i64 iOff, int iAmt, void **pp){
+ DO_OS_MALLOC_TEST(id);
+ return id->pMethods->xFetch(id, iOff, iAmt, pp);
+}
+int sqlite3OsUnfetch(sqlite3_file *id, i64 iOff, void *p){
+ return id->pMethods->xUnfetch(id, iOff, p);
+}
+#else
+/* No-op stubs to use when memory-mapped I/O is disabled */
+int sqlite3OsFetch(sqlite3_file *id, i64 iOff, int iAmt, void **pp){
+ *pp = 0;
+ return SQLITE_OK;
+}
+int sqlite3OsUnfetch(sqlite3_file *id, i64 iOff, void *p){
+ return SQLITE_OK;
+}
+#endif
+
/*
** The next group of routines are convenience wrappers around the
** VFS methods.