only run closure if not running