How to pick a xTicksToWait value?

In the context of queue and mutex access.

So far all the stuff I’ve done has either ended up with 0,1 or 2 milliseconds, or portMAX_DELAY , and nothing in between.

Is this normal, and what sort of realistic scenario would lead someone to choose a value of say 10, 100 or 1000 milliseconds?

There are many possible use cases for timeouts of virtually arbitrary length. For example, if the waiting task participates in a liveness monitor where all tasks have to report back that they are not stuck in, say, 2 seconds, you may want to timeout to something like 1.85 seconds even if there is no bound on the time it may take for the sync object to signal so the timeouting code branch can service the liveness monitor.

Another possible scenario is where you have a half duplex protocol over a communication line where you send out a request, and the protocol/implementation guarantees a response within, say, 500ms so you know you can return failure if you haven’t seen a response within that time.

There are many more such cases, these just spring to mind.

A lot of the scenarios will revolve around doing something at (approximately) a time. The keep-alive/watchdog type scenario that @RAc mention is what first came to mind for me. A TCP connection, for example, will send keep alive packets to ensure the connection stays open. This is at a configurable interval.