make sure not to call openSession more than once

This fixes a problem where opening a new grain could cause multiple sessions to be created.