Commit Graph

42 Commits (ce1bbc0ae45e5696c823e1f067260dedd5cc0bf3)

Author SHA1 Message Date
Teravus Ovares ce1bbc0ae4 * Patched fixed merge from trunk 2008-02-24 15:21:08 +00:00
Tedd Hansen f75e418211 Fixes to ScriptEngine thread cleanup on destructor 2008-02-21 23:43:58 +00:00
Tedd Hansen 89665faeaf ScriptEngine changes in locking. Another step in direction of shared threads. 2008-02-21 11:28:34 +00:00
Tedd Hansen 7102ac7769 "threads" command now works. I've added manual tracking of threads (only if compiled in DEBUG mode)... Its ugly and even requires a separate thread to track the treads, but it will be very valuable in debugging. 2008-02-21 10:43:24 +00:00
Tedd Hansen 684059afdf div+
threads console command will list all threads. This + yesterdays naming threads patch will give a good overview of what threads we have running.
2008-02-20 20:22:15 +00:00
Jeff Ames a8cfbbe963 Minor cleanup. 2008-02-20 18:38:20 +00:00
Tedd Hansen 416d752829 llSetTimerEvent updated to use ticks instead of DateTime for internal timing. 2008-02-20 17:35:28 +00:00
Tedd Hansen 96edcea3ae llSetTimerEvent was setting seconds as milliseconds causing major problems in timed scripts... 2008-02-20 17:14:01 +00:00
Sean Dague 530cc24884 From: Michael Osias <mosias@us.ibm.com>
This patch implements the llSendRemoteData command and fixes mantis 552,
and possibly 586.
2008-02-19 19:16:21 +00:00
Sean Dague f47bcb0f98 bring back some script engine debugging, hoping this will help track down the randoms segfaults 2008-02-18 14:17:09 +00:00
Justin Clarke Casey 1cbef0b908 Patch from Michael Osias IBM (jimbo2120)
In his own words: 
If a prim becomes a listener or remote channel and the script is deleted, it cannot become a listener or channel again with a new script.  
This patch fixes that.
2008-02-18 11:14:53 +00:00
Tedd Hansen 44058f8ae6 state_entry is now executed on state change. 2008-02-10 22:36:01 +00:00
Charles Krinke dfca32b046 Missed one event message that needed to be
commented out.
2008-02-08 02:23:57 +00:00
Charles Krinke 2fb541cb2a Make timer events from scripts a little less chatty.
DEBUG is defined by default in the Linux build.
2008-02-08 01:42:56 +00:00
Jeff Ames 6ed5283bc0 Converted logging to use log4net.
Changed LogBase to ConsoleBase, which handles console I/O.
This is mostly an in-place conversion, so lots of refactoring can still be done.
2008-02-05 19:44:27 +00:00
Jeff Ames 99844ee4c0 Added copyright statements. 2008-02-05 03:20:51 +00:00
Tedd Hansen 5a99a96fed Temporarily disabled shared threads because of a bug. Script were only working on 1 region. :)
Using default warning level on C#/VB compile
2008-02-03 09:35:50 +00:00
Tedd Hansen 785b641272 fixed a timing bug in config re-read. Apparently there is 1000000000 ns in one second... 2008-02-02 07:53:13 +00:00
Tedd Hansen 2db5de3e72 Added commands to change config file from console:
CONFIG SET section key value value value
CONFIG GET section key
CONFIG SAVE (it saves, but does it save correctly?:)

ScriptEngine will react correctly to any config change made while it is running.
2008-02-02 07:35:51 +00:00
Jeff Ames b1a6f4821b Updated svn properties. 2008-02-02 07:13:37 +00:00
Tedd Hansen 7bd3ecfc2a Bugfixes. Now it even reads configuration before it uses it! ;) 2008-02-02 04:35:08 +00:00
Tedd Hansen e06ee9fd4b Added load/unload queue size limit
Added option to share script load/unload thread between regions
Added event execution queue size limit
+ some bugfixes from all the changes
2008-02-02 03:11:06 +00:00
Tedd Hansen 8ccc12d642 Added OpenSim.32BitLaunch.exe that can be used on 64-bit systems to run OpenSim in 32-bit mode.
Added VISUAL BASIC.NET-support
//cs, //lsl and //vb as first characters of script will determine what compiler is used.
Compile warnings are no longer treated as errors. Script will still run.
Added a few useless and useful config options:
Write script source to harddisk for debug, Default compile language, Allowed compilers (languages), compile in release or debug mode, clean up old scripts on startup
Loads of warnings for incorrect config
2008-02-02 02:35:56 +00:00
Tedd Hansen 667197f24d Added OpenSim.32BitLaunch.exe that can be used on 64-bit systems to run OpenSim in 32-bit mode.
Fixed ScriptEngine.Common startup problems.
2008-02-02 00:59:22 +00:00
Tedd Hansen ea74f97e9b Forgot to create an object before use. Now why can't .Net just do that itself? :) 2008-02-02 00:20:31 +00:00
Tedd Hansen 34d21ac94b Added some error checking to MaintenanceThread, no-crash (just log) loading of script engines, and support to load multiple script engines 2008-02-02 00:09:55 +00:00
Tedd Hansen 694642a482 Moved iniFilePath to a static and put it in OpenSim.Application.iniFilePath.
Refreshing config based on this.
Temporarily disabled feature to refresh config file while running.
2008-02-01 23:56:09 +00:00
Tedd Hansen 4715453159 Bugfix, maybe it won't crash during startup and crash somewhere else instead? :) 2008-02-01 23:44:02 +00:00
Tedd Hansen d02a90823f SCRIPTING STILL BROKEN
Added comments and regions, restructured code
Changed a lot of AppDomain junk from console from using Console.Write to Log.Verbose and set it to #if DEBUG
All modules should now refresh their configuration runtime
Made all logging in ScriptEngine.Common get script name from actual engine
Renamed LSLLongCmdHandler to AsyncLSLCommandManager
Added auto-recover with 5 sec throttle for new MaintenanceThread
2008-02-01 23:36:36 +00:00
Tedd Hansen a6726b0c9d SCRIPT SUPPORT IS STILL BROKEN.
Bugfix: Scripts exceeding max and set to be killed were not killed, only removed.
Added ability to re-read configuration while OpenSim is running
All regions now sharing one MaintenanceThread
New MaintenanceThread:
- checks for script execution timeout
- re-reads config
- starts/stops threads if thread active count becomes too high/low compared to config
Speed increase on event execution:
- Reuse of try{}catch{} blocks
- Time calculation on event execution
2008-02-01 22:18:55 +00:00
Tedd Hansen 0c0286911d Config option to set number of scripts per AppDomain 2008-02-01 20:52:00 +00:00
Tedd Hansen e14c8f59f7 Added config options:
ScriptThreadPriority to set script thread priority
DeactivateScriptOnTimeout to remove script if it is executing too long
2008-02-01 20:45:15 +00:00
Tedd Hansen f4ddf5cf28 Removed "Loading inventory for Primitive" message.
Fixed small bug in thread counter.
2008-02-01 20:19:29 +00:00
Tedd Hansen a9c1f3fdb4 Experimental
Moved DotNetScriptEngine configuration to config file.
Added option to share script execution threads between regions.
2008-02-01 20:12:25 +00:00
Tedd Hansen 5d6e89eaf9 Highly experimental
A separate thread is used to enforce max function (event) execution time for scripts.
2008-02-01 19:07:05 +00:00
Teravus Ovares 8fdeab57b1 * Potential fix to the 'can't run a script anymore bug' 2008-01-19 02:58:19 +00:00
Tedd Hansen 82d43db1cc Added data structure to be passed through event execution queue so that events can use llDetect*-commands to find information about event. 2008-01-17 15:22:35 +00:00
Teravus Ovares c2863df49d * Added and implemented the LSL changed event.
* An example changed event syntax is at: http://opensimulator.org/wiki/Changed_Event_Example
* You can use this to trigger actions in your script if someone sits on your object_rez
* You can use this to figure out all of the CHANGED_ constants except for CHANGED_REGION, CHANGED_TELEPORT, and CHANGED_ALLOW_DROP
2008-01-17 02:23:48 +00:00
Adam Frisby b25f9f322c * Mother of all commits:
* Cleaned up copyright notices in AssemblyInfo.cs's
* Added Copyright headers to a bunch of files missing them
* Replaced several common string instances with a static constant to prevent reallocation of the same strings thousands of times. "" -> String.Empty is the first such candidate.
2008-01-15 02:09:55 +00:00
Tedd Hansen 0081c060d0 Set eol 2008-01-12 14:45:59 +00:00
Tedd Hansen 33d82aa532 Added license to new files 2008-01-12 14:40:28 +00:00
Tedd Hansen bacbade369 Major reorganizing of DotNetEngine. Moved common script engine parts to ScriptEngine.Common, only .Net-specific code in DotNetEngine. AppDomains, event handling, event execution queue and multithreading, script load/unload queue, etc has been moved to ScriptEngine.Common.
Loads of things has been put into interfaces instead of the specific class.
We are now one step closer to ScriptServer, and its very easy to implement new script languages. Just a few lines required to make them a OpenSim script module with all its glory.
2008-01-12 14:30:22 +00:00