1000 chars to avoid the exception thrown by libomv at 1100 chars.
Change string->int conversion so it copes with non-numeric chars
after the number and no longer uses a float to parse the value.
which is a thin wrapper around a IWorkItemResult from the SmartThreadPool.
However, it is very easy to reimplement on top of basic threading and therefore
makes the IScriptInstance class independent of the specific threading
implementation.
engines that want to use the XEngine's instance handling and state
persistence can do so. IScriptInstance is optional, but it does
require the SmartThreadPool if it is used.
In LSL, the state command should have an immediate effect.
The OpenSim script engine seems to wait until the function
ends to process the state transition.
It would appear that calling llResetScript() in state_entry() causes deadlock of region.
Probably due to llResetScript calling state_entry again. llResetScript should see who called it,
and not recall state_entry() after a state/variable reset. Once this script is in a prim,
the region/world/debug/script window shows it consuming the server (from 2,400 to 800,000 milliseconds).
"First stage in a major Script Engine refactor, that will result in the LSL implementaions ebing reconverged. Not there yet, but one major part is done."
Thank you, Melanie!
The attatched patch makes the changed() event fire properly and
lets scripts run properly.
NOTE: All existing state files must be deleted:
rm ScriptEngines/*/*.state
Adds full implementation of all llDetected* functions for sensors,
collisions and touches. Adds changed(CHANGED_REGION_RESTART) event
to allow restarting of eye-candy functionality not currently
persisted with the prim.