As it stands, this blocking loop is a big stability risk to the system, since it blocks the node event loop possibly indefinitely. If we absolutely must get this in for GPII 0.2 we can accept it, with a huge warning applied to it, but we should move to a properly asynchronous system as soon as possible (requires fixes in universal). Since this code would only be used on a single-user system we could argue that the risk isn't completely serious - but in general we have a lot of work to do in GPII to ensure that all possible sequences of activites, including multiple logon, logoff, and I/O errors always leave the system responsive and in a consistent state.

A simple improvement here might be to impose a maximum waiting time for the file, after which we error out and return control to node - at least we can guarantee then that the system will not block indefinitely