[Opensim-dev] Test before you call OSSL function
Haravikk
opensim at haravikk.me
Mon Oct 14 19:42:56 UTC 2019
> On 14 Oct 2019, at 15:12, dz <dz at bitzend.net> wrote:
>
> just an observation from a casual observer with decades of software
> design experience...
>
> Wouldn't it be more productive to wrap all OSSL function calls in error
> handling so the response is "correct" regardless of the permissions?
> Adding another seperate function that will ALWAYS need to be called
> before any OSSL function just adds bloat, confusion, and removes any
> incentive for the problem to be handled "correctly"
> (looks at the forum name) OOO ya nvm…
The problem with that is that a default return value may not be distinguishable as an error; for example, for a function that returns a list, an empty list might make sense, but you wouldn't be able to tell if the return was genuinely empty, or the call wasn't allowed.
In an ideal world we'd use C# or another language with exception handling, as that's a much cleaner way to handle capturing of recoverable errors. Of course it's also a lot of work.
I wonder though, how difficult would it be to expose a minimal version of exception handling to LSL? i.e- a very basic try/catch block (no multiple catch blocks, or catches of specific types, just catch everything)?
> On Sun, Oct 13, 2019 at 10:27 AM Mike Higgins <mike at kayaker.net> wrote:
>
>> Yeah, there is an example of that crash and recover trick at
>> http://opensimulator.org/wiki/Threat_level, at the bottom of the page.
>>
>> I have done that and it works after SPAMMING EVERY AVATAR IN THE REGION
>> once. Which is still annoying.
>>
>> On 10/13/2019 4:25 AM, Michel Beauregard wrote:
>>> Its a good idea to have a function that test if a osl function is
>> available to a owner in a specific location.
>>>
>>> For now there is a way to test for osl function scriptwise. A failing
>> osl function cause a crash of the event calling it. So what I do is on
>> state_entry I call a timer with a fake call to all the OSL function(s) to
>> be use in my scripts . If the timer failes it means that one or any of the
>> function I need is not allowed . And the script simply spell out to the
>> owner of that object that it cant be use and abort. So at least it does
>> not repeatedly spam the region .
>>>
>>> I will post an example of the script I use in my user page in opensim if
>> you like more detail. (http://opensimulator.org/wiki/User:Gimisa) . With
>> your function you might be able to detect the failure of the osl function
>> call instead of sending it to report inworld and act by sending back a
>> message to the script for action. Allowing me to use the reply in any way I
>> need instead of using timer failure.
>>>
>>> hope it helps
>>> GiMiSa
>>> _______________________________________________
>>> Opensim-dev mailing list
>>> Opensim-dev at opensimulator.org
>>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>> _______________________________________________
>> Opensim-dev mailing list
>> Opensim-dev at opensimulator.org
>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>>
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at opensimulator.org
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
More information about the Opensim-dev
mailing list