| Anonymous | Login | Signup for a new account | 2013-05-18 22:50 UTC | ![]() |
| Main | My View | View Issues | Change Log | Roadmap | Summary | My Account |
| View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | |||||||||
| ID | Project | Category | View Status | Date Submitted | Last Update | |||||
| 0005974 | opensim | [REGION] Scripting Engine | public | 2012-04-21 15:02 | 2012-04-22 19:48 | |||||
| Reporter | mewtwo0641 | |||||||||
| Assigned To | justincc | |||||||||
| Priority | normal | Severity | minor | Reproducibility | always | |||||
| Status | assigned | Resolution | open | |||||||
| Platform | OS | OS Version | ||||||||
| Product Version | master (dev code) | |||||||||
| Target Version | Fixed in Version | |||||||||
| Summary | 0005974: llSleep called in a timer event locks script up if sleep is interrupted | |||||||||
| Description | If a sleep is called in a timer event and the script is interrupted while sleeping, then on next rez the script will be frozen and will need to be reset. I have had mixed results when putting llSetTimerEvent(0); in the timer, let it run its course, and then llSetTimerEvent(time); afterwards. When this is not done in the timer though, the script freezes every time. I have checked my script example on SecondLife and it does not exhibit this behavior there even when not calling llSetTimerEvent(0) in the timer first. | |||||||||
| Steps To Reproduce | 1. Put below script in an object in world or in an attachment. 2. Let the script count up the set text a few times. 3. Take the object back to your inventory (or detach if worn) as soon as the set text changes again. a. The object must be taken back or detached while the script is sleeping (Script is set to a 10 second sleep in the timer event) 4. Rez the object out again or attach the object 5. Observed behavior should be that the script will no longer respond until reset. a. The set text might reset back to 0 or might count up one more time, but it will eventually seize up. | |||||||||
| Additional Information | // This script demonstrates an issue where llSleep() is used inside of a timer() event // and the script is interuppted while it is sleeping (i.e. detached, taken from in world, // server shut down while it sleeps, etc.) float time = 1.0; float sleep = 10.0; integer count = 0; default { state_entry() { llSetText((string)count, <1,1,1>, 1.0); llSetTimerEvent(time); } on_rez(integer params) { llResetScript(); } timer() { //llSetTimerEvent(0); llSleep(sleep); llSetText((string)count, <1,1,1>, 1.0); count++; //llSetTimerEvent(time); } } | |||||||||
| Tags | No tags attached. | |||||||||
| Git Revision or version number | Master | |||||||||
| Run Mode | Standalone (Multiple Regions) | |||||||||
| Physics Engine | ODE | |||||||||
| Environment | .NET / Windows32, .NET / Windows64 | |||||||||
| Mono Version | None | |||||||||
| Viewer | N/A | |||||||||
| Attached Files | ||||||||||
Issue History |
|||
| Date Modified | Username | Field | Change |
| 2012-04-21 15:02 | mewtwo0641 | New Issue | |
| 2012-04-21 15:05 | mewtwo0641 | Description Updated | View Revisions |
| 2012-04-22 19:07 | justincc | Assigned To | => justincc |
| 2012-04-22 19:07 | justincc | Status | new => assigned |
| Copyright © 2000 - 2012 MantisBT Group |