This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

cygipc (and PostgreSQL) XP problem resolved!


Chuck,

Thanks to help from Frank Seesink, I was able to finally figure out why
cygipc and in turn PostgreSQL failed to work properly under XP in
certain situations.  See the attached for some of the details.

In summary, invoking the XP Fast User Switching feature causes XP to
start using multiple kernel object namespaces instead of a single global
one.  This in turn causes cygipc clients to fail to find a global
semaphore (i.e., \BaseNamedObjects\MultiSemSem_) created by ipc-daemon
and abort.

Are you willing to accept a cygipc patch to correct this problem?

Thanks,
Jason

-- 
PGP/GPG Key: http://www.tishler.net/jason/pubkey.asc or key servers
Fingerprint: 7A73 1405 7F2B E669 C19D  8784 1AFD E4CC ECF4 8EF6
--- Begin Message ---
Frank,

On Mon, May 05, 2003 at 03:36:56PM -0400, Frank Seesink wrote:
> Jason Tishler wrote:
> >[snip]
> >I did some more Googling.  Does the following apply to your setup?
> >
> >    http://support.microsoft.com/default.aspx?scid=kb;en-us;264651
> 
> [snip]
> But I believe the very act of using the Fast User Switching (where you
> 'Switch Users' without logging out) is what is causing this.

I have confirmed the above hypothesis with the attached test program,
cit2.c.  If cit2.exe is invoked as follows:

    $ cit2
    192 = OpenSemaphore(MultiSemSem_) succeeded

then it will work only under Terminal Services session 0 (i.e., the
first user to log on).

However, if cit2.exe is invoked as follows:

    $ cit2 1
    192 = OpenSemaphore(Global\MultiSemSem_) succeeded

then it will work under any Terminal Services session (i.e, even after a
Fast User Switch).

See the following MSDN article:

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/termserv/termserv/kernel_object_namespaces.asp

which explains the multiple Terminal Services namespaces and how to
access them.

I will work with the cygipc maintainer to enhance cygipc to properly
handle Fast User Switching.

Your help in debugging this problem is greatly appreciated.

Thanks,
Jason

-- 
PGP/GPG Key: http://www.tishler.net/jason/pubkey.asc or key servers
Fingerprint: 7A73 1405 7F2B E669 C19D  8784 1AFD E4CC ECF4 8EF6

Attachment: cit2.c
Description: Text document

---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org

--- End Message ---
--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]