[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference bulova::decw_jan-89_to_nov-90

Title:DECWINDOWS 26-JAN-89 to 29-NOV-90
Notice:See 1639.0 for VMS V5.3 kit; 2043.0 for 5.4 IFT kit
Moderator:STAR::VATNE
Created:Mon Oct 30 1989
Last Modified:Mon Dec 31 1990
Last Successful Update:Fri Jun 06 1997
Number of topics:3726
Total number of notes:19516

1169.0. "VUE$SUBPROCESS_INIT.COM" by SOJU::POZZETTA (Henry Pozzetta - SWSE/ACES Commercial CASE Technology) Tue Jul 25 1989 12:26

In the command procedure VUE$SUBPROCESS_INIT.COM the logicals VUE$INPUT and
VUE$OUTPUT are defined by parameters 1 and 2, respectively.   Does anyone know
what calls VUE$SUBPROCESS_INIT.COM?  How are the values for the parameters 
derived?

---------------- <<< VUE$LIBRARY:VUE$SUBPROCESS_INIT.COM >>> -----------------------
$ set noverify
$!  Copyright (c) 1988 Digital Equipment Corporation.  All rights reserved.
$!
$ on control_y then abort_task = 1
$ set control_y
$ abort_task = 0
$ set term/dev=vt200
$ set term/nobroadcast
$ if "''p1'" .eqs. "" then goto vue$start_loop
$ open/read vue$input 'p1
$ open/write vue$output 'p2
$ vue$read ==		     "read vue$input"
$ vue$popup ==		     "write vue$output ""VUE$C_POPUP"""
$ vue$popup_focus ==	     "write vue$output ""VUE$C_POPUP_FOCUS"""
$ vue$popdown ==	     "write vue$output ""VUE$C_POPDOWN"""
$ vue$get_command ==	     "write vue$output ""VUE$C_GET_COMMAND ""'"
$ vue$get_next_selection ==  "write vue$output ""VUE$C_GET_NEXT_SELECTION"""
$ vue$get_all_selections ==  "write vue$output ""VUE$C_GET_ALL_SELECTIONS"""
$ vue$get_selection_count == "write vue$output ""VUE$C_GET_SELECTION_COUNT"""
$ vue$get_auxiliary_files == "write vue$output ""VUE$C_GET_AUXILIARY_FILES"""
$ vue$get_symbol ==	     "write vue$output ""VUE$C_GET_SYMBOL ""'"
$ vue$set_symbol ==	     "write vue$output ""VUE$C_SET_SYMBOL "","
$ vue$set_task_label ==	     "write vue$output ""VUE$C_SET_TASK_LABEL "","
$ vue$set_done_label ==	     "write vue$output ""VUE$C_SET_DONE_LABEL "","
$ vue$inquire ==	     "write vue$output ""VUE$C_INQUIRE "","
$ vue$inquire_symbol ==	     "write vue$output ""VUE$C_INQUIRE_SYMBOL "","
$ vue$highlight_update ==    "write vue$output ""VUE$C_HIGHLIGHT_UPDATE"""
$ vue$update_fileview ==     "write vue$output ""VUE$C_UPDATE_FILEVIEW"""
$ vue$exit_command_loop ==   "write vue$output ""VUE$C_EXIT_COMMAND_LOOP"""
$ vue$set_error_status ==    "write vue$output ""VUE$C_SET_ERROR_STATUS"""
$ vue$popup_help ==	     "write vue$output ""VUE$C_POPUP_HELP "","
$ vue$suppress_output_popup=="write vue$output ""VUE$C_SUPPRESS_OUTPUT_POPUP"""
$ vue$popup_progress_box ==  "write vue$output ""VUE$C_POPUP_PROGRESS_BOX ""'"
$ vue$popup_message ==	     "write vue$output ""VUE$C_POPUP_MESSAGE "","
$ vue$popup_confirm ==	     "write vue$output ""VUE$C_POPUP_CONFIRM "","
$ vue$escape_char[0,8] ==    27
$ vue$begin_bold_string ==   "''vue$escape_char'[1m"
$ vue$end_bold_string   ==   "''vue$escape_char'[0m"
$ vue$begin_bold ==	"write sys$output ""''vue$begin_bold_string'"""
$ vue$end_bold ==	"write sys$output ""''vue$end_bold_string'"""
$vue$start_loop:
$ on control_y then goto vue$task_exit
$ if abort_task .eq. 1 then goto vue$task_exit
$vue$command_loop:		
$ set term/dev=vt200
$ on severe then goto vue$task_exit
$ vue$read vue$command				! Accept SET DEFAULT command
$ vue$current_directory :== "''f$extract(12, 256, vue$command)'"
$ 'vue$command
$ vue$read vue$command				! Accept SET PROC/PRIV command
$ 'vue$command
$ vue$read vue$command				! Accept verb command
$ if f$locate("vue$current_file", f$edit(vue$command, "lowercase")) .eq. -
	f$length(vue$command) then goto vue$execute_command
$ vue$get_next_selection
$ vue$read vue$current_file
$vue$execute_command:
$ 'vue$command
$vue$task_exit:
$ set noverify
$ if "''f$logical(""sys$input"")'" .nes. "''f$logical(""sys$command"")'" then -
    deassign sys$input
$vue$read_typeahead_loop:	! Consume any terminal or mailbox "typeahead"
$ read/timeout=0/error=vue$read_mailbox_loop/prompt="" sys$input vue$typeahead
$ goto vue$read_typeahead_loop
$vue$read_mailbox_loop:
$ read/timeout=0/error=vue$task_complete/prompt="" vue$input vue$typeahead
$ goto vue$read_mailbox_loop
$vue$task_complete:
$ write vue$output "VUE$C_TASK_COMPLETE"
$ goto vue$command_loop

T.RTitleUserPersonal
Name
DateLines
1169.1STAR::BENSONWed Jul 26 1989 12:077
    VUE$SUBPROCESS_INIT is the startup command file used when FileView
    creates it subprocesses.  They are IDs of mailboxes used to pass
    Task Messages and data back and forth.
    
    Tom
    

1169.2WarningSTAR::BENSONWed Jul 26 1989 12:4132
    Let me see if I can save you some time. Based on your earlier note,
    I suspect you're going to try to pass this info to a subprocess created
    by CHILD so it can talk to FileView.
    
    It will sometimes work, but not enough that you'll want to depend on it. 
    FileView knows what subprocess the mailboxes are associated with. As long 
    as it is active and idle, using reading/writing to the mailboxes from 
    another subprocess will generally work.
    
    However, as soon as FileView thinks the process is "done," it will
    start ignoring input in that mailbox. It's ignored because normally
    the only way a message is received from an inactive process is if
    it sent a message just before it was stopped. So the message is
    useless.
    
    Also, if FileView re-uses that subprocess, it will be using those same
    mailboxes. If your CHILD subprocess is reading/writing at the same
    time, one or the other is bound to get an incorrect response to a task
    message. 
    
    And if the FileView subprocess is deleted for some reason, FileView will 
    attempt to deassign the mailboxes. This could happen either because 
    FileView saw that the subprocess was idle for a long time, and there
    are enough idle procs hanging around, or because the task was re-used
    and something was done to explicitly kill it.
    
    You'd be better off letting the FileView process send the task
    messages, and then send the data to your CHILD process in some other
    way.
    
    Tom

1169.3Oh well...SOJU::POZZETTAHenry Pozzetta - SWSE/ACES Commercial CASE TechnologyWed Jul 26 1989 14:187
Oh well, it looks like that approcach is a dead-end.  Is there was a way
to create terminal windows from within FileView?  If there is, I don't need
CHILD.

	HP

1169.4DECterm from FileView in V2DECWIN::KLEINWed Jul 26 1989 16:519
>>Oh well, it looks like that approcach is a dead-end.  Is there was a way
>>to create terminal windows from within FileView?  If there is, I don't need
>>CHILD.

Yes, in V2.  DECterm now has a DCL command (CREATE/TERMINAL) and
FileView has a "DECterm" verb on its application menu.

-steve-