Skip to main content

GC_time_limit

Static GC_time_limit 

Source
pub unsafe static mut GC_time_limit: c_ulong
Expand description

If incremental collection is enabled, we try to terminate collections after this many milliseconds (plus the amount of nanoseconds as given in the latest GC_set_time_limit_tv() call, if any). Not a hard time bound. Setting this variable to GC_TIME_UNLIMITED essentially disables incremental collection (i.e. disables the “pause time exceeded” tests) while leaving generational collection enabled. The setter and the getter are unsynchronized, so GC_call_with_alloc_lock() (GC_call_with_reader_lock() in case of the getter) is required to avoid data race (if the value is modified after the collector is put into the multi-threaded mode). The setter does not update the value of the nanosecond part of the time limit (it is zero unless ever set by GC_set_time_limit_tv() call).