port locking refactor