Commit 8537ad72 authored by Geoff Simmons's avatar Geoff Simmons

Destroy the lock in object finalization.

parent fc28c720
......@@ -607,6 +607,15 @@ vmod_reader__fini(struct VPFX(file_reader) **rdrp)
return;
TAKE_OBJ_NOTNULL(rdr, rdrp, FILE_READER_MAGIC);
if (rdr->lock != NULL) {
errno = 0;
if (pthread_rwlock_destroy(rdr->lock) != 0)
VSL(SLT_Error, NO_VXID, "vmod file %s.%s finalization: "
"cannot destroy lock: %s", rdr->vcl_name,
rdr->obj_name, VAS_errtxt(errno));
free(rdr->lock);
}
if (rdr->flags & RDR_TIMER_INIT) {
AN(rdr->obj_name);
......@@ -634,8 +643,6 @@ vmod_reader__fini(struct VPFX(file_reader) **rdrp)
free(rdr->obj_name);
if (rdr->errbuf != NULL)
free(rdr->errbuf);
if (rdr->lock != NULL)
free(rdr->lock);
FREE_OBJ(rdr);
}
......
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