· Dec 8, 2016

telnet issue

Hi all,

         While i connet telnet for particular user it call (%sys namepace  ^Test routine).

        In that rotine i switch namespace but the termial was closed(sessio disconnected).

       How i can acces the user namespace afer switching namespace ?




Discussion (2)0
Log in or sign up to continue

It sounds like your user may have a login routine defined in their profile. If that's the case, and you exit the routine, the login will exit. It's a similar idea to a Unix captive account.

If you don't have a login routine in the user profile or aren't exiting the routine, can you give more details about exactly what's happening? Is this all users? Some? Does it happen when you switch to all namespaces or just some?

You may want to open a WRC issue for this since the route to failure is not well understood based on the details in the question.  It is possible for a tied terminal session to change namespaces.  For instance, I created the following routine in %SYS:

TestTerminal ;test what happens when switching namespaces
         w !,"I am in %SYS",!
         d THIS^%SS
         h 5
         ZN "USER"
         w !,"Now I am in USER" 
         d THIS^%SS
         h 5

I called this routine from a command prompt like so:

c:\C2K16\bin>ccontrol cterminal C2K16 TestTerminal %SYS

This popped up a terminal window which ran the routine producing the following output:

I am in %SYS
                   Cache System Status: 10:43 am 12 Dec 2016
 Process  Device      Namespace      Routine         CPU,Glob  Pr User/Location
    2092                             CONTROL           0,0     8
    2248                             WRTDMN           50,366   9
    2256                             GARCOL            0,0     8
    2268                             JRNDMN       175139,0     8
    2276                             EXPDMN            0,0     8
    3972  //./nul     %SYS           %SYS.TaskSuper
                                                 2247760,90501 8  TASKMGR
    3096  //./nul     %SYS           MONITOR      941163,87    8
    3240  //./nul     %SYS           CLNDMN        20530,1179  8
    3016  //./nul     %SYS           RECEIVE      605864,31894 8
    3656  //./nul     %SYS           ECPWork           0,0     8  ECPWORK
    3224  |TCP|1972   %SYS           %SYS.SERVER       0,0     8
    4004  //./nul     %SYS           LMFMON        18319,31    8
    6992  |TCP|RRAEL5550:1972
                      %SYS           %SYS.BINDSRV 329537,34024 8  UnknownUser
    3152* |TRM|:|3152 %SYS           %SYS.ProcessQuery
                                                    8889,110   8  UnknownUser
    3680  //./nul     %SYS           %SYS.Monitor.Control
3 user, 12 system, 1024 mb global/33 mb routine cache

Now I am in USER
                   Cache System Status: 10:43 am 12 Dec 2016
 Process  Device      Namespace      Routine         CPU,Glob  Pr User/Location
0 user, 0 system, 1024 mb global/33 mb routine cache
As you can see the namespace switch happened and the routine ran to completion, so it is possible to switch namespaces within a tied terminal routine.

Thoughts on the specifics of what might have failed for your process.

1. Were you trying to quit out of the routine to get into programming mode?  You cannot exit from a tied terminal session (one that enters cache calling a routine) to a programming mode session.  When the routine quits the terminal session exits.

2. After execution the terminal screen will exit.  Was the work done in that second namespace something that you would expect to see output from, or have to enter text to a read command?  or would it run fast and then quit?  IE, did the work get done, but you not see it?

3.  Do you have error trapping in your routine in that namespace, and did an error get trapped.  This may help understand the behavior.

If this is not helpful please open a WRC issue and get help from support in addressing your issue.