=== modified file 'src/StoreIOState.cc'
--- src/StoreIOState.cc	2012-09-01 14:38:36 +0000
+++ src/StoreIOState.cc	2012-12-30 17:33:16 +0000
@@ -46,9 +46,13 @@
 void
 StoreIOState::operator delete (void *address) {assert (0);}
 
-StoreIOState::StoreIOState()
+StoreIOState::StoreIOState() :
+        swap_dirn(-1), swap_filen(-1), e(NULL), mode(O_BINARY),
+        offset_(0), file_callback(NULL), callback(NULL), callback_data(NULL)
 {
-    mode = O_BINARY;
+    read.callback = NULL;
+    read.callback_data = NULL;
+    flags.closing = false;
 }
 
 off_t

=== modified file 'src/StoreIOState.h'
--- src/StoreIOState.h	2012-10-29 04:59:58 +0000
+++ src/StoreIOState.h	2012-12-30 17:26:04 +0000
@@ -105,7 +105,7 @@
     } read;
 
     struct {
-        unsigned int closing:1;	/* debugging aid */
+        bool closing:1;	/* debugging aid */
     } flags;
 };
 

=== modified file 'src/store.cc'
--- src/store.cc	2012-10-26 11:36:45 +0000
+++ src/store.cc	2012-12-30 17:17:29 +0000
@@ -380,32 +380,22 @@
     return STORE_DISK_CLIENT;
 }
 
-StoreEntry::StoreEntry():
-        hidden_mem_obj(NULL),
-        swap_file_sz(0)
+StoreEntry::StoreEntry() :
+        mem_obj(NULL), hidden_mem_obj(NULL),
+        timestamp(-1), lastref(-1), expires(-1), lastmod(-1), swap_file_sz(0),
+        refcount(0), swap_filen(-1), swap_dirn(-1), swap_status(SWAPOUT_NONE)
 {
-    debugs(20, 3, HERE << "new StoreEntry " << this);
-    mem_obj = NULL;
-
-    expires = lastmod = lastref = timestamp = -1;
-
-    swap_status = SWAPOUT_NONE;
-    swap_filen = -1;
-    swap_dirn = -1;
+    debugs(20, 3, "new StoreEntry " << this);
+    // note: refcount is actually set in storeCreateEntry
 }
 
-StoreEntry::StoreEntry(const char *aUrl, const char *aLogUrl):
-        hidden_mem_obj(NULL),
-        swap_file_sz(0)
+StoreEntry::StoreEntry(const char *aUrl, const char *aLogUrl) :
+        mem_obj(new MemObject(aUrl, aLogUrl)), hidden_mem_obj(NULL),
+        timestamp(-1), lastref(-1), expires(-1), lastmod(-1), swap_file_sz(0),
+        refcount(0), swap_filen(-1), swap_dirn(-1), swap_status(SWAPOUT_NONE)
 {
-    debugs(20, 3, HERE << "new StoreEntry " << this);
-    mem_obj = new MemObject(aUrl, aLogUrl);
-
-    expires = lastmod = lastref = timestamp = -1;
-
-    swap_status = SWAPOUT_NONE;
-    swap_filen = -1;
-    swap_dirn = -1;
+    debugs(20, 3, "new StoreEntry " << this);
+    // note: refcount is actually set in storeCreateEntry
 }
 
 StoreEntry::~StoreEntry()

=== modified file 'src/store_io.cc'
--- src/store_io.cc	2012-09-04 09:10:20 +0000
+++ src/store_io.cc	2012-12-30 17:25:57 +0000
@@ -63,7 +63,7 @@
         return;
     }
 
-    sio->flags.closing = 1;
+    sio->flags.closing = true;
 
     debugs(20,3,HERE << "storeClose: calling sio->close(" << how << ")");
     sio->close(how);

