Thread: NT ipc-daemon in multi-user environment

NT ipc-daemon in multi-user environment

From
mjazbuti@sparc10a.varcom.com (Mirga Jazbutis)
Date:
Hello. My team uses Citrix MetaFrame on Windows NT Server
4.0, Terminal Server Edition, to support multi-user concurrent
development on a single computer (gee, what a concept). I
wanted each developer to be able to run their own postmaster
to prevent interference from others. However, when a second
person ran their ipc-daemon and a postmaster, the postmaster
would bomb with ENOMEM on the shmget() call.

I was able to trace this to the cygipc library and ipc-daemon
 utilizing fixed files in /tmp. That is, "/tmp" is hardcoded
in several places in the ipc-daemon and the object files that
make up libcygipc.a. When many users try to use the exact same
file in /tmp, the first one wins and subsequent users bomb. I
then hacked the ipc code to allow adjustment of the temporary
directory based on an environment variable.

Does this solution make sense? Anyone else run in a Citrix or
NT Terminal Server environment? I'm wondering if there are any
more land mines waiting to be stepped on...

======================================================================
Mirga Jazbutis                         VARCOM Corporation
mjazbutis@varcom.com                   http://www.varcom.com
Phone: 703-591-2805 x115               3251 Old Lee Highway, Suite 407
Fax:   703-591-2807                    Fairfax, Virginia 22030
======================================================================