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