Revision: 75284
          http://sourceforge.net/p/brlcad/code/75284
Author:   starseeker
Date:     2020-04-07 14:16:39 +0000 (Tue, 07 Apr 2020)
Log Message:
-----------
Pass TCL_READABLE in from further up the stack

Modified Paths:
--------------
    brlcad/trunk/include/ged/defines.h
    brlcad/trunk/src/libged/rt.c
    brlcad/trunk/src/libged/rtcheck.c
    brlcad/trunk/src/libged/rtwizard.c
    brlcad/trunk/src/libtclcad/tclcad_obj.c
    brlcad/trunk/src/mged/setup.c

Modified: brlcad/trunk/include/ged/defines.h
===================================================================
--- brlcad/trunk/include/ged/defines.h  2020-04-07 14:05:11 UTC (rev 75283)
+++ brlcad/trunk/include/ged/defines.h  2020-04-07 14:16:39 UTC (rev 75284)
@@ -219,6 +219,7 @@
     int                        ged_internal_call;
 
     /* Handler functions for I/O communication with asynchronous subprocess 
commands */
+    int io_mode;
     void (*ged_create_io_handler)(void **chan, struct bu_process *p, int fd, 
int mode, void *data, ged_io_handler_callback_t callback);
     void (*ged_delete_io_handler)(void *interp, void *chan, struct bu_process 
*p, int fd, void *data, ged_io_handler_callback_t callback);
 

Modified: brlcad/trunk/src/libged/rt.c
===================================================================
--- brlcad/trunk/src/libged/rt.c        2020-04-07 14:05:11 UTC (rev 75283)
+++ brlcad/trunk/src/libged/rt.c        2020-04-07 14:16:39 UTC (rev 75284)
@@ -254,7 +254,7 @@
 
     /* If we know how, set up hooks so the parent process knows to watch for 
output. */
     if (gedp->ged_create_io_handler) {
-       (*gedp->ged_create_io_handler)(&(run_rtp->chan), p, BU_PROCESS_STDERR, 
TCL_READABLE, (void *)drcdp, _ged_rt_output_handler);
+       (*gedp->ged_create_io_handler)(&(run_rtp->chan), p, BU_PROCESS_STDERR, 
gedp->io_mode, (void *)drcdp, _ged_rt_output_handler);
     }
     return GED_OK;
 }

Modified: brlcad/trunk/src/libged/rtcheck.c
===================================================================
--- brlcad/trunk/src/libged/rtcheck.c   2020-04-07 14:05:11 UTC (rev 75283)
+++ brlcad/trunk/src/libged/rtcheck.c   2020-04-07 14:16:39 UTC (rev 75284)
@@ -298,13 +298,13 @@
     rtcp->rrtp->p = p;
     rtcp->rrtp->aborted = 0;
     if (gedp->ged_create_io_handler) {
-       (*gedp->ged_create_io_handler)(&(rtcp->rrtp->chan), p, 
BU_PROCESS_STDOUT, TCL_READABLE, (void *)rtcp, rtcheck_vector_handler);
+       (*gedp->ged_create_io_handler)(&(rtcp->rrtp->chan), p, 
BU_PROCESS_STDOUT, gedp->io_mode, (void *)rtcp, rtcheck_vector_handler);
     }
     BU_LIST_INIT(&rtcp->rrtp->l);
     BU_LIST_APPEND(&gedp->gd_headSubprocess.l, &rtcp->rrtp->l);
 
     if (gedp->ged_create_io_handler) {
-       (*gedp->ged_create_io_handler)(&(rtcp->chan), p, BU_PROCESS_STDERR, 
TCL_READABLE, (void *)rtcp, rtcheck_output_handler);
+       (*gedp->ged_create_io_handler)(&(rtcp->chan), p, BU_PROCESS_STDERR, 
gedp->io_mode, (void *)rtcp, rtcheck_output_handler);
     }
 
     bu_free(gd_rt_cmd, "free gd_rt_cmd");

Modified: brlcad/trunk/src/libged/rtwizard.c
===================================================================
--- brlcad/trunk/src/libged/rtwizard.c  2020-04-07 14:05:11 UTC (rev 75283)
+++ brlcad/trunk/src/libged/rtwizard.c  2020-04-07 14:16:39 UTC (rev 75284)
@@ -75,7 +75,7 @@
     drcdp->rrtp = run_rtp;
 
     if (gedp->ged_create_io_handler) {
-       (*gedp->ged_create_io_handler)(&(run_rtp->chan), p, BU_PROCESS_STDERR, 
TCL_READABLE, (void *)drcdp, _ged_rt_output_handler);
+       (*gedp->ged_create_io_handler)(&(run_rtp->chan), p, BU_PROCESS_STDERR, 
gedp->io_mode, (void *)drcdp, _ged_rt_output_handler);
     }
 
     return GED_OK;

Modified: brlcad/trunk/src/libtclcad/tclcad_obj.c
===================================================================
--- brlcad/trunk/src/libtclcad/tclcad_obj.c     2020-04-07 14:05:11 UTC (rev 
75283)
+++ brlcad/trunk/src/libtclcad/tclcad_obj.c     2020-04-07 14:16:39 UTC (rev 
75284)
@@ -1816,6 +1816,7 @@
     /* Set the Tcl specific I/O handlers for asynchronous subprocess I/O */
     gedp->ged_create_io_handler = &tclcad_create_io_handler;
     gedp->ged_delete_io_handler = &tclcad_delete_io_handler;
+    gedp->io_mode = TCL_READABLE;
 
     /* initialize tclcad_obj */
     BU_ALLOC(top, struct tclcad_obj);

Modified: brlcad/trunk/src/mged/setup.c
===================================================================
--- brlcad/trunk/src/mged/setup.c       2020-04-07 14:05:11 UTC (rev 75283)
+++ brlcad/trunk/src/mged/setup.c       2020-04-07 14:16:39 UTC (rev 75284)
@@ -476,6 +476,7 @@
     GEDP->ged_interp = (void *)*interpreter;
     GEDP->ged_create_io_handler = &tclcad_create_io_handler;
     GEDP->ged_delete_io_handler = &tclcad_delete_io_handler;
+    GEDP->io_mode = TCL_READABLE;
     GEDP->ged_interp_eval = &mged_db_search_callback;
 
     /* Tcl needs to write nulls onto subscripted variable names */

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to