PLEX_LOCKS
Malloc(PLEX_LOCKS * sizeof(struct rangelock));
bzero((char *) plex->lock, PLEX_LOCKS * sizeof(struct rangelock));
while (plex->usedlocks == PLEX_LOCKS) /* all in use */
if (plex->usedlocks >= PLEX_LOCKS)
for (; lock < &plex->lock[PLEX_LOCKS]
if (lock < &plex->lock[0] || lock >= &plex->lock[PLEX_LOCKS])
&plex->lock[PLEX_LOCKS]);
if (plex->usedlocks == PLEX_LOCKS - 1) /* we were full, */