From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,8893269a4640c798 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-08-01 11:48:30 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.uchicago.edu!newsfeed.cs.wisc.edu!newsfeed.mathworks.com!wn13feed!worldnet.att.net!4.24.21.153!chcgil2-snh1.gtei.net!news.bbnplanet.com!chcgil2-snf1.gtei.net!news.gtei.net!news.binc.net!kilgallen From: Kilgallen@SpamCop.net (Larry Kilgallen) Newsgroups: comp.lang.ada Subject: Re: terminate applications Date: 1 Aug 2003 13:48:27 -0500 Organization: Berbee Information Networks Corporation Message-ID: References: <3F17DF3C.4080204@noplace.com> <3F196773.2060809@noplace.com> <3F19F86C.9050808@attbi.com> <3F1A772F.9060708@noplace.com> <3F1AD6FB.8080806@attbi.com> <3F1BD666.6040506@noplace.com> <3F1C4DA6.3070405@attbi.com> <3F1D29E8.60107@noplace.com> <3F1D2FDC.1070402@noplace.com> In article , "Warren W. Gay VE3WWG" writes: > Larry Kilgallen wrote: > Everyone keeps trying to complicate a very simple requirement: > > - terminate with prejudice: > - process > - and all accompanying threads > - no other guarantees requested or desired So it is permissible to terminate subprocesses as a side effect ? Or is it _required_ to terminate subprocesses as a side effect ? > Your heart is in the right place: I mean, it might be desireable > to have an option to select a dump or not. The danger however, is > that as soon as you start adding more "nice to haves", you can > complicate the request to the point where it cannot be done > portably, or without general agreement. I am not suggesting a requirement that the call do X. What I would like to see is _guidance_ as to whether the call should do X in those environments where an X-or-not decision is part of the operation of terminating a process (or was it a program). >>>The programmer is using this API because he has weighed the risk >>>of doing so, and has decided that it is going to be done. If >>>not, then he gets what he deserves ;-) Insisting on file >>>integrity is to add policy to the original request. >> >> I will take your word for it that file integrity is not a big deal >> in some environments, but there are others where it is. > > Absolutely! But if file integrity is a concern, then you should > not be doing this kind of thing; or at least you should be > certain that your writes are flushed, and files closed before you > pull the plug. > >>>Not being familiar with VMS, I cannot answer the other question, since >>>there seems to be an implied difference between program and process. >>> >>>What does a "program" mean in a VMS environment? Under UNIX/Windoze, >>>we talk of processes and threads. What is DCL? >> >> A process is an execution environment. For instance, when you log >> into a VMS system a process is created. DCL (Digital Command Language) >> commands you issue successively run various programs, by default in the >> context of that process. > > Are you saying that the environment + command run in one address > space together? Yes (but not in the same processor mode). > It sounds a bit like DOS command interpreter and > executable living in the same address space together. I have no experience with DOS (at least not the PC version to which I presume you are referring - if you meant PDP-11 DOS/Batch or System 360 DOS I figure you would have so indicated). >> In some environments it is quite rude to terminate a process (rather than >> just the program running within that process) since the very next step >> (in a command procedure being run in that process, for example) may be >> to indicate an error condition to the operator on duty, or in more primitive >> environments, email any error indication to some other human being. > > Agreed, but I would suggest that it is also rude > to leave a hung process and threads running, eating 100% of the CPU > with no way to terminate it. But there is no reason to expect (on VMS anyway) that terminating the program would leave threads running, because that is tautologically impossible in user mode. So if stopping all threads is your requirement, the definition should not say "terminate the process". The process should live (in a DCL environment on VMS). Or is there some ARM definition of "process" at odds with that for VMS ?