Issue Details (XML | Word | Printable)

Key: CORE-2572
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Alexander Peshkov
Reporter: Alexander Peshkov
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Firebird Core

Locks of type LCK_page_space processed incorrectly

Created: 24/Jul/09 07:29 AM   Updated: 12/Nov/09 05:31 PM
Component/s: Engine
Affects Version/s: 2.1.0, 2.5 Alpha 1, 2.1.1, 2.1.2, 2.5 Beta 1
Fix Version/s: 2.5 RC1, 2.1.4

Time Tracking:
Not Specified

Environment: Bigendian machines

Planning Status: Unspecified


 Description  « Hide
Due to different bytes order in lck_long member of union in class Lock, upper bytes (always zero for LCK_page_space locks) are taken into an account on bigendians. This breaks normal operation of page spaces.

 All   Comments   Work Log   Change History   Version Control   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Alexander Peshkov added a comment - 24/Jul/09 08:01 AM
Makes no sense using 2-bytes long lock values - 4-bytes use same memory (it's anyway allocated aligned) and work with same speed (also due to alignment in shared memory).

Therefore lck_length is set to sizeof(long) for this type of lock.