Closed DarkSorrow closed 8 years ago
@DarkSorrow - just seen this. Can you try this and see if it fixes the problem for you
--- connection.js.old 2016-01-16 05:38:36.279506853 -0500
+++ connection.js 2016-01-16 05:35:15.802852238 -0500
@@ -572,6 +572,8 @@
Connection.prototype.reset_transaction = function(cb) {
if (this.transaction && this.transaction.resetting === false) {
+ // Pause everything to allow this hook to complete
+ this.pause();
this.transaction.resetting = true;
plugins.run_hooks('reset_transaction', this, cb);
}
@@ -587,6 +589,7 @@
this.transaction = null;
}
if (cb) cb();
+ this.resume();
};
Connection.prototype.init_transaction = function(cb) {
Just tested this change with this dummy plugin:
exports.hook_reset_transaction = function (next, connection) {
setTimeout(function () {
return next();
}, 10 * 1000);
}
It works as expected for me.
Hello,
I have an Haraka server that is handling bounce email and for some of them i keep getting a "cmd_quit failed: Error: We are already running hooks! Fatal error!". Here is the log for one of these error
My code in the reset_transaction called in that file is as follow.
I think the problem is that the client is sending a quit command after we send him the messaged queue. If you have some suggestion on how to stop this error i can maybe implement it, i was thinking it was due to the fact that the reset_transaction is being checked in one of the files, but i'm not sure if it would be correct to add a flag in that case. This error just appear sometime and not for every call this is why i think its probably because of some of the bounce server that aren't giving a good answer