Source Files
- portions of tclTimer.c
Public Interface
- Tcl_CreateTimerHandler
- Tcl_DeleteTimerHandler
- Tcl_DoWhenIdle
- Tcl_CancelIdleCall
Private Interface
- TclCreateAbsoluteTimerHandler
- TclServiceIdle
Directly Depends On Public Interface
Directly Depends On Private Interface of
Discussion
The private dependency is on TclThreadDataKeyGet which appears easily convertible to Tcl_GetThreadData.
The private routine TclCreateAbsoluteTimerHandler appears to exist just so that Tcl_LimitSetTime doesnt have to pass through milliseconds (and the loss of precision implicit in that conversion). Since Tcl_Time values are already in the public Tcl interface, this would be a good routine to make public, though perhaps with a name change.
It was observed on TCLCORE that the use of long fields within the Tcl_Time struct, rather than time_t is surprising to at least some programmers.
Unless something is using it from the private stubs table, the only callers of TclServiceIdle are Tcl_DoOneEvent and Tcl_ServiceAll, so that connection might be resolved by redrawing module boundaries.