[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference bulova::decw_jan-89_to_nov-90

Title:DECWINDOWS 26-JAN-89 to 29-NOV-90
Notice:See 1639.0 for VMS V5.3 kit; 2043.0 for 5.4 IFT kit
Moderator:STAR::VATNE
Created:Mon Oct 30 1989
Last Modified:Mon Dec 31 1990
Last Successful Update:Fri Jun 06 1997
Number of topics:3726
Total number of notes:19516

2737.0. "EXIT procedure from Session manager" by SAC::JENKINS_T () Wed May 09 1990 12:47

Can somebody tell me exactly what the Session Manager does when EXIT is 
selected.

A customer is trying to do this from an application under VMS, when exit is 
seleted from the application then they wish to exit from the whole session.

They have tried stopping the session manager and the window manager but they
have two problems
1 	if they have created any DECterms during the session, then when exit is
        selected the session will not end until the DECterm is logged out
2	the login screen is not redisplayed, so they cannot log in again.
	This was solved by running DECW$STARTLOGIN, but they found they
	require CMKRNL privilege to do this which isn't really acceptable.

We have also tried stopping various processes, but this just caused out 
workstation to hang.

Regards,

Tracy
T.RTitleUserPersonal
Name
DateLines
2737.1SM Exit function detailsSTAR::ORGOVANVince OrgovanWed May 09 1990 19:0128
    The session manager Exit function has two primary tasks: 1) it
    tries to force a server reset and 2) it restarts the loginout
    process. 
    
    There is no easy way to force a server reset. A reset is necessary
    because 1) it's the only way to guarantee that cut and paste 
    buffers from user #1 are cleared when user #2 logs in and 2) it causes
    the server's host security list to be reset, and 3) it's an easy way
    to get rid of any extraneous customization that a given user has
    done. In DECwindows V1, the session manager used the XKillClient
    request to shoot down every client that it could find. XKillClient
    takes a resource id for input, and the session manager used
    XQueryTree to find all the windows it could and issued XKillClient
    requests on them. In DECwindows V2, a Digital-specific server
    extension was added that allows the session manager to issue a 
    "please reset the server" protocol request. To make your application
    emulate this, you'll probably have to do what we did in DECwindows
    V1 - look at the source listings for VMS V5.2 for details.
    
    The session manager restarts the loginout process by sending a
    message to the VMS job controller saying that unsolicited input
    has been received on device WSAn:. The DECW$STARTLOGIN.EXE 
    program does the same thing. The job controller then runs loginout
    with sys$input being the WSAn device. To make your application 
    emulate this, you could try a lib$do_command to run decw$startlogin.
    If your application is running with normal privs (i.e. only TMPMBX
    and NETBMX), you'll have to install the decw$startlogin image with
    the install utility and give it CMKRNL.