summaryrefslogtreecommitdiff
path: root/indra/lscript
diff options
context:
space:
mode:
Diffstat (limited to 'indra/lscript')
-rw-r--r--indra/lscript/lscript_execute.h7
-rw-r--r--indra/lscript/lscript_execute/lscript_execute.cpp5
2 files changed, 12 insertions, 0 deletions
diff --git a/indra/lscript/lscript_execute.h b/indra/lscript/lscript_execute.h
index a22c37cfe9..9a631c4c8f 100644
--- a/indra/lscript/lscript_execute.h
+++ b/indra/lscript/lscript_execute.h
@@ -434,6 +434,13 @@ public:
F32 quanta,
U32& events_processed, LLTimer& timer);
+ // NOTE: babbage: this must be used on occasions where another script may already be executing. Only 2 levels of nesting are allowed.
+ // Provided to support bizarre detach behaviour only. Do not use.
+ virtual F32 runNested(BOOL b_print, const LLUUID &id,
+ const char **errorstr,
+ F32 quanta,
+ U32& events_processed, LLTimer& timer);
+
// Run smallest possible amount of code: an instruction for LSL2, a segment
// between save tests for Mono
void runInstructions(BOOL b_print, const LLUUID &id,
diff --git a/indra/lscript/lscript_execute/lscript_execute.cpp b/indra/lscript/lscript_execute/lscript_execute.cpp
index 5630f2de0b..daa17f371c 100644
--- a/indra/lscript/lscript_execute/lscript_execute.cpp
+++ b/indra/lscript/lscript_execute/lscript_execute.cpp
@@ -961,6 +961,11 @@ F32 LLScriptExecute::runQuanta(BOOL b_print, const LLUUID &id, const char **erro
return inloop;
}
+F32 LLScriptExecute::runNested(BOOL b_print, const LLUUID &id, const char **errorstr, F32 quanta, U32& events_processed, LLTimer& timer)
+{
+ return LLScriptExecute::runQuanta(b_print, id, errorstr, quanta, events_processed, timer);
+}
+
BOOL run_noop(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &id)
{
if (b_print)