I assume you mean that you segattach and then fork, so that you have a segment shared between both parent and child.
Yes, that's the homework assignment; seems a reasonable scenario.
Probably the easiest thing to do in this case would be to add a function that could register a different region of memory to hold the QLp array in qlock.c.
Approximately what I'm doing for the semaphore code; the qlplistinit (I called it sqlistinit before) function calls segattach itself—or maybe a better method would be to take a pointer from the user? When I get that working, I'll offer a patch for qlock.c. (There's no particular general need for the Sem/sincr/sdecr/cansdecr set, is there?) --Joel
