[sr-dev] t_suspend() in TMCB_ON_FAILURE?

Martin Hoffmann martin.hoffmann at telio.ch
Tue Jun 19 15:29:17 CEST 2012


Hi guys,

since tm is a bit, er, complex and breakage is not immediately obvious,
I'd rather ask:  Is it safe to call t_suspend() from the TMCB_ON_FAILURE
callback?

The idea is to always delay the transaction until there either is a 200
OK or it times out.

In other words, does this work:

    static void
    failure_handler(struct cell *t, int type, struct tmcb_params *params)
    {
        if (params->repl != FAKED_REPLY) {
            tmb.t_suspend(params->req, &t->tindex, &t->tlabel);
        }
    }

If it doesn't work, any better idea?

Regards,
Martin



More information about the sr-dev mailing list