🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: bit.listserv.appc-l
Article #455

Re: TPIDs

#455
From: Gilbert, Howard
Date: Fri, 17 Dec 1993 18:32
30 lines
2892 bytes
>Ummmm, Peter, you are correct for the native APPC API on OS/2.  However,
>*CPIC* should clean up the TPID for you when the last conversation to
>use it ends.  Otherwise you will eventually exhaust all available
>storage, not to mention the questions of which one to use when performing
>work on behalf of a client (in a cascaded server scenario, perhaps).
>Programmers should *not* be *forced* to use the new extensions to make
>their code robust.

In OS/2 TPs are cleaned up at process termination unless they are REXX TPs
where they are cleaned up at session termination.  Pure CPIC has no explict
TP concept, just conversations.  You don't explicitly start or stop TPs, the
system does.  This is one of the areas where APPC/MVS, for example, added
additional function between its first version (that did not allow a single
address space to serve more than one client) to a later version.  However,
to use only Pure CPIC, the server has to end after serving one client.  It
can Allocate as many downstream conversations as it chooses before, during,
and after accepting and ending the client conversation.  All activity would
be under a single TP.  However, in Pure CPIC a single program cannot do two
Accepts either concurrently or serially.  SC26-4399-6 page 67 (CMACCP) Usage
Note 2 "Although CPI Communications allows a program to accept only one
conversation ..." and in Related Information on the next page "VM provides
extensions to CPI Communciations that allow an application to accept more
than one concurrent conversation."  Architecturally the problem is that
CMACCP has no parameters to indicated what conversation it is supposed to
accept, so the system has to know.  In fact, in OS/2 CM the TP already
exists before the Attach Manager loads the program.  Just configure the TP
to be a program that does not do an Accept.  It runs, ends, and the TPID is
still hanging around unresolved.  Several hours later you can do a
Receive_Allocate from some other program and connect to it.  Performing
CMACCP in a loop is ouside the scope of unextended CPIC.
Technical Details
Message-ID: <2D11FBBB@mailgate.cis.yale.edu>
Path: arc1-ca.pugleaf.net!gmd.de!newsserver.jvnc.net!howland.reston.ans.net!paladin.american.edu!auvm!CISPO1.CIS.YALE.EDU!gilbert

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 10aed9,ee547f6b576f8059
X-Google-Attributes: gid10aed9,public
X-Google-ArrivalTime: 1993-12-17 11:06:44 PST
Path: arc1-ca.pugleaf.net!gmd.de!newsserver.jvnc.net!howland.reston.ans.net!paladin.american.edu!auvm!CISPO1.CIS.YALE.EDU!gilbert
Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU
Newsgroups: bit.listserv.appc-l
Return-Path: <@AUVM.AMERICAN.EDU:owner-appc-l@AUVM.AMERICAN.EDU>
Return-Path: <@AUVM.AMERICAN.EDU,
             @YALEVM.CIS.YALE.EDU:gilbert@CISPO1.CIS.YALE.EDU>
Encoding: 31 TEXT
X-Mailer: Microsoft Mail V3.0
Message-ID: <2D11FBBB@mailgate.cis.yale.edu>
Date: Fri, 17 Dec 1993 10:32:00 PST
Sender: APPC Discussion List <APPC-L@AUVM.BITNET>
From: "Gilbert, Howard" <gilbert@CISPO1.CIS.YALE.EDU>
Subject: Re: TPIDs
Lines: 29