Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!uunet!husc6!mit-eddie!ll-xn!ames!ucbcad!ucbvax!VAX.OIT.UDEL.EDU!mike
From: mike@VAX.OIT.UDEL.EDU ("Michael J. Porter")
Newsgroups: comp.os.vms
Subject: RE:  many many latsymbionts...
Message-ID: <8712041357.aa19669@Louie.UDEL.EDU>
Date: Fri, 4-Dec-87 14:02:00 EST
Article-I.D.: Louie.8712041357.aa19669
Posted: Fri Dec  4 14:02:00 1987
Date-Received: Thu, 10-Dec-87 05:52:52 EST
Sender: usenet@ucbvax.BERKELEY.EDU
Reply-To: "Michael J. Porter" 
Organization: The ARPA Internet
Lines: 16



When a server is initialized, it tells the job controller how many
queues it can handle.  I would guess that the latserver can handle
only 1 and is telling the job controller that.  It is pretty difficult
to write a multi-threaded symbionent.  All static variables have
to be defined relative to a context pointer.  When the job controller
calls the sybm, it will pass the context, which you would then
have to add to all offsets in order to access your static data.  The
only way I know of to do this easily is to put all your data on the
stack.  You would make as many stacks as threads you want to support.
When the job controller calls your server, you would modify the stack
pointer to point to the proper stack for the queue.

				mike@vax.oit.udel.edu
------