Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions plugins/experimental/inliner/ats-inliner.cc
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ handle_transform(const TSCont c)
}

int
null_transform(TSCont c, TSEvent e, void *)
inliner_transform(TSCont c, TSEvent e, void *)
{
if (TSVConnClosedGet(c)) {
TSDebug(PLUGIN_TAG, "connection closed");
Expand Down Expand Up @@ -165,7 +165,7 @@ void
transform_add(const TSHttpTxn t)
{
assert(t != NULL);
const TSVConn vconnection = TSTransformCreate(null_transform, t);
const TSVConn vconnection = TSTransformCreate(inliner_transform, t);
assert(vconnection != NULL);
TSHttpTxnHookAdd(t, TS_HTTP_RESPONSE_TRANSFORM_HOOK, vconnection);
}
Expand Down
3 changes: 2 additions & 1 deletion plugins/experimental/inliner/inliner-handler.cc
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ namespace ats
namespace inliner
{
Handler::Handler(const TSIOBufferReader r, ats::io::IOSinkPointer &&i)
: ioSink_(i), sink_(ioSink_->branch()), sink2_(sink_->branch()), reader_(TSIOBufferReaderClone(r)), counter_(0)
: ioSink_(i), sink_(ioSink_->branch()), sink2_(sink_->branch()), reader_(TSIOBufferReaderClone(r)), counter_(0), abort_(false)
{
assert(ioSink_);
assert(sink_);
Expand Down Expand Up @@ -141,6 +141,7 @@ namespace inliner
void
Handler::abort(void)
{
abort_ = true;
assert(ioSink_);
ioSink_->abort();
}
Expand Down
9 changes: 6 additions & 3 deletions plugins/experimental/inliner/inliner-handler.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,16 @@ namespace inliner
ats::io::SinkPointer sink_, sink2_;
const TSIOBufferReader reader_;
size_t counter_;
bool abort_;

~Handler()
{
assert(reader_ != NULL);
const int64_t available = TSIOBufferReaderAvail(reader_);
if (available > 0) {
TSIOBufferReaderConsume(reader_, available);
if (!abort_) {
const int64_t available = TSIOBufferReaderAvail(reader_);
if (available > 0) {
TSIOBufferReaderConsume(reader_, available);
}
}
TSIOBufferReaderFree(reader_);
}
Expand Down