diff options
author | Alan M Webb | 2009-09-16 17:31:14 -0400 |
---|---|---|
committer | dr scofield (aka dirk husemann) | 2009-09-17 17:49:13 +0200 |
commit | 88294d9ebfcbaf1a382bb71a1fcacbe90913fbd8 (patch) | |
tree | 9f55578cb0af8bbb95f7aa0c517328417914fc33 /ThirdParty/SmartThreadPool | |
parent | Thank you, mcortez, for a patch to address showing users in group list (diff) | |
download | opensim-SC_OLD-88294d9ebfcbaf1a382bb71a1fcacbe90913fbd8.zip opensim-SC_OLD-88294d9ebfcbaf1a382bb71a1fcacbe90913fbd8.tar.gz opensim-SC_OLD-88294d9ebfcbaf1a382bb71a1fcacbe90913fbd8.tar.bz2 opensim-SC_OLD-88294d9ebfcbaf1a382bb71a1fcacbe90913fbd8.tar.xz |
While running a test case I had written to pursue problems with
llDie() not always completely working, I discovered I was
getting a lot (60+ over 6000 iterations of the test case)
null pointer exceptions in various physics related checks in
SceneObjectPart. It was apparent that the (frequent) checks for
PhysActor being non-null is an insufficient protection in a
highly asynchronous environment. The null reference exceptions
are one example of failure, but it could also happen that a
sequence started with one instance of a PhysicsActor might
finish with another?
Anyway, I have implemented a safer mechanism that should
stop the errors. I re-ran my test case with the fix in place,
and completed nearly 1000 iterations without a single occurrence.
SceneObjectPart is seriously in need of rejigging, if not for
this reason, then for its ridiculous size.
Signed-off-by: dr scofield (aka dirk husemann) <drscofield@xyzzyxyzzy.net>
Diffstat (limited to 'ThirdParty/SmartThreadPool')
0 files changed, 0 insertions, 0 deletions