Opened 12 years ago

Closed 12 years ago

#8661 closed bug (fixed)

fcntl(fd, F_GETLK, ...) violates POSIX

Reported by: pdziepak Owned by: pdziepak
Priority: normal Milestone: R1
Component: System/POSIX Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

The standard states that F_GETLK should check whether given lock would be blocked by another one and return description of the conflicting one (or set l_type to F_UNLCK if there is no collision).

Current implementation of F_GETLK performs completely different actions, it "Retrieves the first lock that has been set by the current team". Moreover, if there are no locks (advisory_locking == NULL) an error is returned instead of l_type set to F_UNLCK.

Attachments (1)

0001-Fix-8661-fcntl-fd-F_GETLK-.-violates-POSIX.patch (3.9 KB ) - added by pdziepak 12 years ago.

Download all attachments as: .zip

Change History (6)

comment:1 by pdziepak, 12 years ago

patch: 01

comment:2 by nielx, 12 years ago

Could somebody please review the patch?

comment:3 by bonefish, 12 years ago

Owner: changed from nobody to axeld
Status: newassigned

comment:4 by pdziepak, 12 years ago

Owner: changed from axeld to pdziepak

comment:5 by pdziepak, 12 years ago

Resolution: fixed
Status: assignedclosed

Fixed in hrev45359.

Note: See TracTickets for help on using tickets.