mdm@wdl50.wdl.fac.com (Mike D Marchionna) (01/25/91)
jbarrett@nrlvax.decnet ("NRLVAX::JBARRETT") writes: >Has anyone out there in net-land had any success running multiple Motif >applications under VMS as detached processes. Our initial integration >efforts have resulted in two different problems: >1) When we try to open mulitple hierarchies in a process executed from the > command line, we have no problems. However, when we try to open multiple > hierachies running as a detached process, Mrm dies in the middle of the > second hierarchy. Note that both hierarchies have some, but not all, files > in common. The two biggest gotchas when running detacthed processes are logical names and process quotas. Depending on how you start a detached process the logical names of the creating process may not be available to new detached process. You can get around the problem by puting common logical names in a GROUP table. Another approach is to run a DCL detached process that reads a command file that defines any logicals it would need then run the desired program. As for process quotas be wary as to what quotas your detached process recieves. If you have DETACH privilege you can specify almost all the desired process qoutas in the RUN command. One potential quota culprit is the Max detached process quota if this isn't 0(infinite) you may be hitting a quota problem. >2) We have also run into problems whenever we make motif calls from ASTs. > Specifically, we are trying to map and unmap windows from within an AST > and nothing happens. No errors, no warnings, no mapped or unmapped events. Doing any X stuff from AST's is basically a bad idea. This is certainly the case with the Motif toolkit. The DEC documentaion clearly states that the XT intrinsics are not AST reentrant and so neither are any Xm calls. This means that if your main line code is in a given XT routine when an AST fires, the AST thread may smash local static data by inadvertantly calling the routine it interupted; yeilding unpredictable results. A work around to to doing X calls within AST's is to use the XT$ADD_INPUT(XtAddInput) call. This routine will execute a specified call back routine when an event flag is set. Thus your AST could set an allocated event flag, return, XtMainLoop would callback your AddInput function and you can do your dirty XT business from main line code. >Any ideas or comments will be appreciated. I will post a summary of the >responses. Thanks in advance. >By the way, we're using DEC VAXstations running VMS 5.3. > John Barrett > STI > Alexandria, VA > jbarrett@nrlvx1.nrl.navy.mil Hope this helps. -- +--------------||--##--%%--@@------+--------------------------------------+ |El-Rayo-X-----||--##--%%--@@----->| Brain! Brain! What is brain! | |El-Rayo-X-----||--##--%%--@@----->| --Star Trek (Spock's Brain) | +--------------||--##--%%--@@------+--------------------------------------+