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

Conference ucrow::desktop_acms

Title:DECtp Desktop for ACMS
Moderator:UCROW::GIBSON
Created:Mon Sep 24 1990
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:859
Total number of notes:3034

820.0. "Q: exit handler/ broken network links?" by SAHNE::BORBATH () Fri Feb 07 1997 10:56

Who can help me to answer this questions to my customer?
Any advice would be very appreciated.

acms V4.1
ascmsdi V 2.2

1)client program exit handler is called.

The client program exit handler does a sign out.
- What happens if a ACMS task is active. Do I cancel the task first?
- What action takes the builtin acmsdi exit handler after a successful/failed
  sign out? 

2)decnet link breaks  
-What happens if the network link between desktop client and desktop servers
 breaks?
-Does the acmsdi server know that the client is no longer active?
-Does the acmsdi server submit ACMS CANCEL/USER ?
-What happens with an active ACMS task? Will it be canceled?
 Is there a timeout parameter?
-How can I get rid of open client and server sockets?

Thank you in advance
 Hilke
T.RTitleUserPersonal
Name
DateLines
820.1Server cleans thins up if it canEYEORE::BAIRDMon Feb 10 1997 14:4057
    
>>  The client program exit handler does a sign out.
>>  - What happens if a ACMS task is active. Do I cancel the task first?
    
    The answer to this question depends on whether the task is a blocking 
    task or a nonblocking task.  If you have a nonblocking task it would
    not be a bad idea to issue an acmsdi_cancel call before issuing the
    acmsdi_sign_out.  This is especially true if your client application
    is expecting an ACMS exchange step as the next message from the back-
    end.  If it's a blocking task, there is nothing you can do while the
    task is active except to wait until you get some kind of response from
    the server.  Then, assuming your client application is capable of
    issuing an acmsdi_sign_out, you can do so.        
    
>>  - What action takes the builtin acmsdi exit handler after a
>>  successful/failed sign out?
    
    Actually the ACMSDI client software acts about the same after a
    failed sign-out as it does after a successful sign-out.  The submitter
    structures are deleted and the user is considered no-longer signed in.
    One difference is that any error message generated because of a failed
    sign-out is returned to the client application.  Usually the only
    reason a sign-out might fail is because the server already considers
    the client to be signed-out (for whatever reason). 
    
>>  2)decnet link breaks
>>  -What happens if the network link between desktop client and desktop
>>  server breaks?
>>  -Does the acmsdi server know that the client is no longer active?
    
    In most cases, yes.  However, we have found some cases, depending on
    the transport being used and the state of the task, where the server
    simply waits and will continue waiting indefinitely.  In that case 
    you may have to issue an ACMS/CANCEL USER to get rid of the user in
    both ACMS and the ACMSDI server.  Sometimes establishing a new link
    via acmsdi_sign_in will cause the broken link to be cleaned up.
    
>>  -Does the acmsdi server submit ACMS CANCEL/USER ?
    
    The ACMSDI server will cause the ACMS user to be canceled when it 
    discovers a broken link.
    
>>   -What happens with an active ACMS task? Will it be canceled?
    
    The ACMSDI server will cause an active ACMS task to be cancelled
    when it discovers a broken link.
    
>>   Is there a timeout parameter?
    
    Only for the Macintosh client which uses a different API.
    
>>  -How can I get rid of open client and server sockets?
    
    If the ACMSDI server does not clean up the connection for you (and
    it usually can do this) then ACMS/CANCEL USER can cause this to happen.
    If that doesn't work, you may need to use services provided by the
    transport (i.e. TCP/IP, DECnet, etc.).