Path: utzoo!utgpu!water!watmath!clyde!rutgers!princeton!udel!rochester!bbn!uwmcsd1!ig!agate!ucbvax!VENUS.YCC.YALE.EDU!LEICHTER From: LEICHTER@VENUS.YCC.YALE.EDU ("Jerry Leichter ", LEICHTER-JERRY@CS.YALE.EDU) Newsgroups: comp.os.vms Subject: re: VWS Weirdness, template devices ? Message-ID: <8802081116.AA25176@ucbvax.Berkeley.EDU> Date: 27 Jan 88 02:22:00 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 82 I'm using a VAXStation II/RC with VWS V3.2 and MicroVMS V4.5b. VWS looks nice to me so far, but I'm missing features like a setup-file, which saves me from opening and repositioning four windows every time i log in. The obvious solution I found was to write a DCL procedure, which assigns channels to WTA0: for each terminal window i need. I intended to SPAWN processes onto each window. To archive this, i need to know the name of the created window, since WTA0: is only a template device. I haven't been playing around with these template devices so far, but in my understanding i get a new pseudodevice if i assign a channel to the template (i.e. a X.29 terminal with VAX PSI, a new window with VWS, a new pseudo tty with the pty driver etc..). It would now at least be logical if DCL remembered the name of the created device. Unfortunately the logical name which identifies the opened file translates to "_TMPMBX$WTAx", where x is a number which doesn't get used for a created terminal. For example, if i have one window on my screen (WTA1:), and open WTA0: to create a new window, the logical of the opened window translates to _TMPMBX$WTA2:, but WTA2: doesn't exist. The *real* name of the new window is WTA3:. This looks at least strange to me. Furthermore, if i open a second channel to WTA0:, the logical name again translates to _TMPMBX$WTA3, and the device is named WTA4:. This is really a long-standing DCL bug. What happens is that DCL, in the process of opening a file, ends up assigning channels to it twice. Eventually, it will use the FIRST assignment to create the logical name it gives you, then close that channel and use the second one. For everything but template devices, this causes no problems. For template devices, it ends up creating TWO of the device, destroying one, and handing you a pointer to the WRONG one. There is no workaround strictly with DCL. However, it's simple to write a small program that creates a terminal with a call to UIS$CREATE_TERMINAL and assigns a logical name to point to it. (You can't use the cloned device facility here either - as soon as your program exits, the channel it opened to create the cloned device will go away, and with it the device. Of course, you could also do the SPAWN within the program.) I'd also be interested in knowing if it's normal that VWS crashes sometimes ? My machine Bugchecks frequently if I click in the upper right corner of the screen. Just curious ;-) VWS crashes are almost always the result of running out of some resource or another. Actually, VWS has been getting MUCH better behaved of late. It used to crash on almost any resource problem. Now, most of them (at worst) delete the current process. I posted a set of parameters that have worked for me a couple of days ago. Here they are again: MODPARAMS.DAT: ! ! Local modifications: Set up for LAT by using only the username in the ! breakin database, and make LT's disconnectable by default. Go for a big ! WSMAX. Allocate more type-ahead. Allocate more paged pool to compensate ! for the increase QVSS_POOL_SIZE. Allow more global pages and sections ! - we were running low. ! LGI_BRK_TERM = 0 TTY_DEFCHAR2 = 135170 WSMAX = 8192 TTY_TYPAHDSZ = 508 ADD_PAGEDYN = 500000 ADD_GBLPAGES = 3000 ADD_GBLSECTIONS = 50 Probably only the last three have any relevence to VWS. In SYSTARTUP.COM, before the call to STARTVWS: $ define/system/exec UIS$QVSS_POOL_SIZE 1000000 I've actually configured a lot more page and swap file space than AUTOGEN recommends: Paging File Usage (pages): Free In Use Total DISK$MICROVMS:[SYS0.SYSEXE]SWAPFILE.SYS 4736 5664 10400 DISK$MICROVMS:[SYS0.SYSEXE]PAGEFILE.SYS 19121 3871 22992 BTW, this is a 10 Meg MicroVAX II with an RD53. -- Jerry -------