fake->abort(); // sets ENTRY_ABORTED and initiates releated cleanup
HTTPMSGUNLOCK(fake->mem_obj->request);
fake->unlock("peerCountMcastPeersDone");
- HTTPMSGUNLOCK(psstate->request);
- cbdataFree(psstate);
+ delete psstate;
}
static void
storeAppendPrintf(state->sentry, "} by kid%d\n\n", KidIdentifier);
state->sentry->complete();
state->sentry->unlock("statObjects+isDone");
- cbdataFree(state);
+ delete state;
return;
} else if (EBIT_TEST(state->sentry->flags, ENTRY_ABORTED)) {
state->sentry->unlock("statObjects+aborted");
- cbdataFree(state);
+ delete state;
return;
} else if (state->sentry->checkDeferRead(-1)) {
state->sentry->flush();
static void
storeSwapOutFileNotify(void *data, int errflag, StoreIOState::Pointer self)
{
- generic_cbdata *c = (generic_cbdata *)data;
- StoreEntry *e = (StoreEntry *)c->data;
+ StoreEntry *e;
+ static_cast<generic_cbdata *>(data)->unwrap(&e);
+
MemObject *mem = e->mem_obj;
assert(e->swap_status == SWAPOUT_WRITING);
assert(mem);
static void
storeSwapOutFileClosed(void *data, int errflag, StoreIOState::Pointer self)
{
- generic_cbdata *c = (generic_cbdata *)data;
- StoreEntry *e = (StoreEntry *)c->data;
+ StoreEntry *e;
+ static_cast<generic_cbdata *>(data)->unwrap(&e);
+
MemObject *mem = e->mem_obj;
assert(mem->swapout.sio == self);
assert(e->swap_status == SWAPOUT_WRITING);
- cbdataFree(c);
// if object_size is still unknown, the entry was probably aborted
if (errflag || e->objectLen() < 0) {