Invoking such a key may cause some or all of the side effects of the key to occur even though the invocation appears not to have occurred. In effect, when the key senses that an invocation is about to occur, it performs its side effects (which may include waiting for some event) and enters a special state. An invocation of the key can only proceed from the special state; when it does, the return (of parameters saved when the side effects were performed) occurs immediately.
Only one domain should be trying to invoke an I/O key at any one time and it should not change its mind about what it is doing. This is one reason that such keys are restricted.