2792 Olav Sandstaa 2008-08-21
Fix for Bug#38766 Falcon hangs during start-up if compiled for 64 bit SPARC
Wrong CompareAndChange routine was used for in interlockedAdd. Replaced routine for exchanging
pointers with routine for exchanging integer values. This problem resultet in errors
on big-endian 64 bit machines.
modified:
storage/falcon/Interlock.h
2791 Vladislav Vaintroub 2008-08-20
Improve error handling in MemMgr::corrupt().
Use FATAL macro instead of throwing BUG_CHECK. FATAL writes error text into
MySQL error log, uncaught exception can't do that.
modified:
storage/falcon/MemMgr.cpp
=== modified file 'storage/falcon/Interlock.h'
=== modified file 'storage/falcon/Interlock.h'
--- a/storage/falcon/Interlock.h 2008-07-10 09:27:51 +0000
+++ b/storage/falcon/Interlock.h 2008-08-21 11:23:44 +0000
@@ -396,7 +396,7 @@
{
INTERLOCK_TYPE current= *addend;
INTERLOCK_TYPE ret= current + value;
- if (COMPARE_EXCHANGE_POINTER(addend, current, ret))
+ if (COMPARE_EXCHANGE(addend, current, ret))
return ret;
}
#endif
| Thread |
|---|
| • bzr push into mysql-6.0-falcon branch (olav:2791 to 2792) Bug#38766 | Olav Sandstaa | 21 Aug |