GSourceFuncs.prepare

Called before all the file descriptors are polled. If the source can determine that it is ready here (without waiting for the results of the poll() call) it should return true. It can also return a @timeout_ value which should be the maximum timeout (in milliseconds) which should be passed to the poll() call. The actual timeout used will be -1 if all sources returned -1, or it will be the minimum of all the @timeout_ values returned which were >= 0. Since 2.36 this may be null, in which case the effect is as if the function always returns false with a timeout of -1. If @prepare returns a timeout and the source also has a ready time set, then the lower of the two will be used.

struct GSourceFuncs
extern (C)
bool function(GSource* source, int* timeout) prepare;