Informix Error -436
-436 Call back function must be defined when time-out value is 0 or greater.
You did not provide a callback function with your time-out value. Make sure that you provide both.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-436 is the direct companion restriction to -435: whenever a bounded time-out value (0 or
greater) is specified for the relevant ESQL/C or ESQL/COBOL mechanism, a callback function must
also be supplied — the two arguments are required together, since the time-out is meaningless
without a callback to invoke when it expires.
- A bounded time-out value (
0or greater) supplied without a corresponding callback function — the direct, only cause. - Application code that sets a time-out defensively but forgets the callback, assuming a default no-op behavior exists when one doesn't.
- Copy-pasted registration code missing the callback argument after being adapted from a different context.
Solutions / Resolution
- Supply a valid callback function whenever a bounded time-out (
0or greater) is used, per the official guidance. - If no callback logic is actually needed, use
-1(indefinite wait) instead, per-435's guidance, rather than a bounded time-out with a missing callback. - Review the registration code for both arguments together — they're a package deal, not independently optional.
Examples
Supplying a callback alongside a bounded time-out
int timeout = 30;
/* register_callback is the actual function pointer required
whenever timeout >= 0 */
/* pass both timeout and register_callback to the relevant
ESQL/C registration call */
Using -1 instead, when no callback logic is needed
int timeout = -1; /* indefinite wait; no callback required */
Diagnostic Checks
- Check whether a callback function argument was actually supplied alongside a bounded time-out value.
- Confirm whether a callback is genuinely needed, or whether
-1(indefinite wait) is actually the simpler, correct choice.
Related Errors / Related Topics
- -435 — "Time-out value must be -1 or greater." The closely related sibling restriction — together these two errors define the valid combinations for this time-out/callback mechanism.
Time-out and callback are supplied together or not at all — use -1 if no callback logic is
actually needed, rather than a bounded time-out with a missing callback.