]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Since there is no write callback with new store filesystem interface,
authorwessels <>
Thu, 20 May 1999 03:57:47 +0000 (03:57 +0000)
committerwessels <>
Thu, 20 May 1999 03:57:47 +0000 (03:57 +0000)
we must pass a free function to the low level write routines to free
the write buffer after its done

src/protos.h
src/store_io.cc
src/store_swapout.cc
src/structs.h

index c6e9e1512af0c6864d78dd36027e526005f27c88..e9c8ebed2456772cc2dda7a33311c837d719f009 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: protos.h,v 1.328 1999/05/04 21:58:31 wessels Exp $
+ * $Id: protos.h,v 1.329 1999/05/19 21:57:49 wessels Exp $
  *
  *
  * SQUID Internet Object Cache  http://squid.nlanr.net/Squid/
@@ -852,7 +852,7 @@ extern void storeEntryReset(StoreEntry *);
 extern storeIOState *storeOpen(sfileno f, mode_t mode, STIOCB * callback, void *callback_data);
 extern void storeClose(storeIOState * sio);
 extern void storeRead(storeIOState * sio, char *buf, size_t size, off_t offset, STRCB * callback, void *callback_data);
-extern void storeWrite(storeIOState * sio, char *buf, size_t size, off_t offset);
+extern void storeWrite(storeIOState * sio, char *buf, size_t size, off_t offset, FREE *);
 extern void storeUnlink(int fileno);
 extern off_t storeOffset(storeIOState *);
 
@@ -860,7 +860,7 @@ extern off_t storeOffset(storeIOState *);
 extern storeIOState *storeUfsOpen(sfileno f, mode_t mode, STIOCB * callback, void *callback_data);
 extern void storeUfsClose(storeIOState * sio);
 extern void storeUfsRead(storeIOState * sio, char *buf, size_t size, off_t offset, STRCB * callback, void *callback_data);
-extern void storeUfsWrite(storeIOState * sio, char *buf, size_t size, off_t offset);
+extern void storeUfsWrite(storeIOState * sio, char *buf, size_t size, off_t offset, FREE *);
 extern void storeUfsUnlink(int fileno);
 extern char *storeUfsFullPath(sfileno fn, char *fullpath);     /* XXX want this to be static */
 
index 8887d592f77a9a7f3b9c526889040cda7732608c..f1a3a1dad6f545ef01e11d2cb100bbc60a7dae12 100644 (file)
@@ -24,9 +24,9 @@ storeRead(storeIOState * sio, char *buf, size_t size, off_t offset, STRCB * call
 }
 
 void
-storeWrite(storeIOState * sio, char *buf, size_t size, off_t offset)
+storeWrite(storeIOState * sio, char *buf, size_t size, off_t offset, FREE * free_func)
 {
-    storeUfsWrite(sio, buf, size, offset);
+    storeUfsWrite(sio, buf, size, offset, free_func);
 }
 
 void
index ba39daf9beedb67e06bb152d8d519b1094dce44a..b31c905991dff62b14e4b8efd0ab5d4eea0f4349 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store_swapout.cc,v 1.48 1999/05/04 19:22:31 wessels Exp $
+ * $Id: store_swapout.cc,v 1.49 1999/05/19 21:57:51 wessels Exp $
  *
  * DEBUG: section 20    Storage Manager Swapout Functions
  * AUTHOR: Duane Wessels
@@ -65,8 +65,7 @@ storeSwapOutStart(StoreEntry * e)
     buf = storeSwapMetaPack(tlv_list, &swap_hdr_sz);
     storeSwapTLVFree(tlv_list);
     mem->swap_hdr_sz = (size_t) swap_hdr_sz;
-    mem->swapout.free_write_buf = xfree;
-    storeWrite(mem->swapout.sio, buf, mem->swap_hdr_sz, 0);
+    storeWrite(mem->swapout.sio, buf, mem->swap_hdr_sz, 0, xfree);
 }
 
 void
@@ -195,8 +194,7 @@ storeSwapOut(StoreEntry * e)
     debug(20, 3) ("storeSwapOut: swapping out %d bytes from %d\n",
        swap_buf_len, (int) mem->swapout.queue_offset);
     mem->swapout.queue_offset += swap_buf_len - hdr_len;
-    mem->swapout.free_write_buf = memFreeDISK;
-    storeWrite(mem->swapout.sio, swap_buf, swap_buf_len, -1);
+    storeWrite(mem->swapout.sio, swap_buf, swap_buf_len, -1, memFreeDISK);
 }
 
 void
index 7e032d95340265961e083f82f190c5758bd34f8b..1a7f4053ca6c05e6ed9b5cee0b011112ee83cdc6 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: structs.h,v 1.289 1999/05/10 19:33:25 wessels Exp $
+ * $Id: structs.h,v 1.290 1999/05/19 21:57:52 wessels Exp $
  *
  *
  * SQUID Internet Object Cache  http://squid.nlanr.net/Squid/
@@ -1220,7 +1220,6 @@ struct _MemObject {
     struct {
        off_t queue_offset;     /* relative to in-mem data */
        storeIOState *sio;
-       FREE *free_write_buf;
     } swapout;
     HttpReply *reply;
     request_t *request;