If I install the same function on two different callouts, i.e. callout_reset(&c1, n1, f, &x1); and callout_reset(&c2, n2, f, &x2); does anything prevent f being called twice concurrently? I.e., am I correct that f has to be re-entrant in this case?