20 Mar
2008
20 Mar
'08
5:11 p.m.
I haven't looked at your code, but struct mail always has a transaction (mail->transaction). You could fail the transaction by hooking into transaction_commit and calling rollback if your internal failure-flag was set.
But that sounds a bit extreme.
Indeed. But I suppose if I always have a transaction I'll already be hooked into it, I'll check that out.
Aren't you just adding/removing a single keyword? If so, you can use mail_update_keywords() to just add/remove that without reading/touching other keywords.
Evolution for example always replaces the complete keyword list, so that doesn't really work easily.
johannes