Suppose I write a module that needs to do a fair bit of work in one of its hooks before allowing the message to proceed down the line - say in the HOOKTYPE_NEW_MESSAGE or HOOKTYPE_PRE_CHANMSG. I'm not sure how unrealircd's threading model works. Am I blocking the whole server or other messages from being delivered if my module takes a long time to return from its hook? If so, what would be the correct approach? In the hook, push the message onto a queue to be processed in a thread of my own making, while cancelling the immediate flow in the current message? Is there an established mechanism for doing that or will I have to hack something of my own?
Statistics: Posted by Axle1975 — Fri Nov 15, 2024 7:07 am — Replies 2 — Views 38