From b7abfd88f38b75209db441cd5c0b8784774c063f Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Wed, 13 Sep 2017 22:41:49 -0700 Subject: 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.) --- 071deep_copy.cc | 4 ++-- 1 file 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 deep_copy(reagent/*copy*/ in, map& 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 result; @@ -299,7 +299,7 @@ void deep_copy(const reagent& canonized_in, map& 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 -- cgit 1.4.1-2-gfad0