BUG #2248: Fix for terminal server

Started by Fix for terminal serverabout 20 years ago2 messagesbugs
Jump to latest
#1Fix for terminal server
anthony.communier@laposte.net

The following bug has been logged online:

Bug reference: 2248
Logged by: Fix for terminal server
Email address: anthony.communier@laposte.net
PostgreSQL version: 8.1.2
Operating system: Win 32
Description: Fix for terminal server
Details:

I am sorry, these is not a bug report but i don't know where to post the
following message :

In order to fix problem with shared memory on the Win32 Terminal Server all
kernel object must be prefixed with Global\

Kernel Object are used by the following functions :

CreateEvent
CreateSemaphore
OpenSemaphore
CreateFileMapping
OpenFileMapping

I am not sure for Named Pipe

Those functions are used in the source directory src\backend\port\win32

I can't test these fix because I have no terminal server at home, but it
works fine with win32 services i have developped at work. So the following
lines can help you to solve the problem quickly :

Fix for version 8.1.2 :

sema.c:l 142
sprintf(semname, "Global\\PG_SEMSET.%d.", semKey);

shmem.c:l 92
sprintf(szShareMem, "Global\\PostgreSQL.%d", memKey);

I think that's all.

These problem should be encountered with fast user switch on Win XP but i am
not sure. Fast user switch is implemented like Terminal Server as far as i
know.

Docs can be found there :

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

I hope it helps you.

Regards,

Anthony COMMUNIER

#2Magnus Hagander
magnus@hagander.net
In reply to: Fix for terminal server (#1)
Re: BUG #2248: Fix for terminal server

The following bug has been logged online:

Bug reference: 2248
Logged by: Fix for terminal server
Email address: anthony.communier@laposte.net
PostgreSQL version: 8.1.2
Operating system: Win 32
Description: Fix for terminal server
Details:

I am sorry, these is not a bug report but i don't know where
to post the following message :

In order to fix problem with shared memory on the Win32
Terminal Server all kernel object must be prefixed with Global\

Kernel Object are used by the following functions :

CreateEvent
CreateSemaphore
OpenSemaphore
CreateFileMapping
OpenFileMapping

I am not sure for Named Pipe

Those functions are used in the source directory
src\backend\port\win32

I can't test these fix because I have no terminal server at
home, but it works fine with win32 services i have developped
at work. So the following lines can help you to solve the
problem quickly :

Fix for version 8.1.2 :

sema.c:l 142
sprintf(semname, "Global\\PG_SEMSET.%d.", semKey);

shmem.c:l 92
sprintf(szShareMem, "Global\\PostgreSQL.%d", memKey);

I think that's all.

These problem should be encountered with fast user switch on
Win XP but i am not sure. Fast user switch is implemented
like Terminal Server as far as i know.

Docs can be found there :

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

Have you actually tried this, or are you just guessing?

Because during the dev of 8.0, we definitly tried that. And it didn't
help then. But perhaps something else has changed..

//Magnus