Unconditionally fair, weakly fair, and strongly fair scheduling

I am trying to understand the difference between weakly fair and strongly fair scheduling.

For example, what scheduling policy would ensure that a process delayed at its first await statement will eventually be able to proceed?

weakly fair: A condition becomes true and remains true at least until after the conditional atomic action has been executed.

strongly fair: If the condition is infinitely often true, a process will eventually see it as true and be able to proceed.

I feel that it needs strongly fair scheduling because the process is being delayed at its await statement but I am not sure.

If someone could provide a good explanation, something besides temporal logic?