about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2017-09-13 22:41:49 -0700
committerKartik K. Agaram <vc@akkartik.com>2017-09-13 22:41:49 -0700
commitb7abfd88f38b75209db441cd5c0b8784774c063f (patch)
treeb7ad7ef49394b297ffb4d99055ef5c152f675195
parent8f4549ec0fdb70f57436801c0685c273685df8d0 (diff)
downloadmu-b7abfd88f38b75209db441cd5c0b8784774c063f.tar.gz
3997
Follow-up to commit 3993: deep-copy needs to also ignore screen and
console objects. Basically channels and any fake objects passed into
tests. (The real ones will be null, which will work fine thanks to the
bugfix of commit 3996.)
-rw-r--r--071deep_copy.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/071deep_copy.cc b/071deep_copy.cc
index a19ca99f..96f2671c 100644
--- a/071deep_copy.cc
+++ b/071deep_copy.cc
@@ -244,7 +244,7 @@ vector<double> deep_copy(reagent/*copy*/ in, map<int, int>& addresses_copied, co
   if (is_mu_address(in)) {
     // hack: skip primitive containers that do their own locking; they're designed to be shared between routines
     type_tree* payload = in.type->right;
-    if (payload->left->name == "channel" || payload->left->name == "resources")
+    if (payload->left->name == "channel" || payload->left->name == "screen" || payload->left->name == "console" || payload->left->name == "resources")
       return read_memory(in);
   }
   vector<double> result;
@@ -299,7 +299,7 @@ void deep_copy(const reagent& canonized_in, map<int, int>& addresses_copied, con
       // hack: skip primitive containers that do their own locking; they're designed to be shared between routines
       if (!info->payload_type->atom && info->payload_type->left->name == "channel")
         continue;
-      if (info->payload_type->atom && info->payload_type->name == "resources")
+      if (info->payload_type->name == "screen" || info->payload_type->name == "console" || info->payload_type->name == "resources")
         continue;
       // construct a fake reagent that reads directly from the appropriate
       // field of the container