Commit 4308c19d authored by Geoff Simmons's avatar Geoff Simmons

implement DATA_Clear_tx (no test yet)

parent 37b704fe
......@@ -80,12 +80,30 @@ data_Cleanup(void)
}
void
DATA_Clear_Logline(tx_t *tx)
DATA_Clear_Tx(tx_t *tx)
{
logline_t *rec;
chunk_t *chunk;
CHECK_OBJ_NOTNULL(tx, TX_MAGIC);
tx->state = TX_EMPTY;
/* XXX: etc. ... */
tx->vxid = -1;
tx->type = VSL_t_unknown;
VSTAILQ_FOREACH(rec, &tx->lines, linelist) {
CHECK_OBJ_NOTNULL(rec, LOGLINE_MAGIC);
rec->state = DATA_EMPTY;
rec->tag = SLT__Bogus;
rec->len = 0;
VSTAILQ_FOREACH(chunk, &rec->chunks, chunklist) {
CHECK_OBJ_NOTNULL(chunk, CHUNK_MAGIC);
chunk->state = DATA_EMPTY;
*chunk->data = '\0';
}
VSTAILQ_INIT(&rec->chunks);
}
VSTAILQ_INIT(&tx->lines);
}
int
......@@ -212,17 +230,6 @@ DATA_Return_Free(tx)
DATA_Return_Free(line)
DATA_Return_Free(chunk)
#define DUMP_HDRS(vsb, ll, hdr) do { \
if (ll->hdr) \
for (j = 0; j < ll->hdr->nrec; j++) \
if (ll->hdr->record[j].len) { \
VSB_putc(vsb, '['); \
VSB_bcat(vsb, ll->hdr->record[j].data, \
ll->hdr->record[j].len); \
VSB_cat(vsb, "] "); \
} \
} while (0)
void
DATA_Dump(void)
{
......
......@@ -241,7 +241,7 @@ int LOG_Open(const char *progname);
/* data.c */
int DATA_Init(void);
void DATA_Clear_Logline(tx_t *tx);
void DATA_Clear_Tx(tx_t *tx);
unsigned DATA_Take_Freetx(struct txhead_s *dst);
unsigned DATA_Take_Freeline(struct linehead_s *dst);
unsigned DATA_Take_Freechunk(struct chunkhead_s *dst);
......
......@@ -223,7 +223,7 @@ wrt_write(tx_t *tx)
MON_StatsUpdate(STATS_WRITTEN);
/* clean up */
DATA_Clear_Logline(tx);
DATA_Clear_Tx(tx);
VSTAILQ_INSERT_TAIL(&wrt_freelist, tx, freelist);
wrt_nfree++;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment