This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: sqlite3: bug with monotone


On 6/2/2013 04:31, Corinna Vinschen wrote:

I just applied a patch to implement mandatory locking.

Thank you!

It also supports
F_GETLK, with limited usability due to Windows restrictions, as I
explained in other mail.

It is what it is.

A haiku:

    Yesterday it worked.
    Today it is not working.
    Windows is like that.

I dropped the F_MDLCK idea. Instead I implemented a specific fcntl code
to switch to mandatory locking on a file descriptor:

   fcntl (fd, F_LCK_MANDATORY, 1);

Could you add an O_MAND open(2) option as well to turn on the same feature? This will avoid a race condition.

I apologize for not thinking of this earlier. It just occurred to me as I was working on the SQLite patch to make use of this new feature.

I didn't add a way for the user to switch on mandatory locking for now,
and I don't intend to do that for 1.7.19.  Hope that helps, nevertheless.

I *think* it's sufficient.  I may think differently later. :)

My current plan is that Cygwin SQLite will build in "Unix mode" now, but with the build flag Yaakov requested above, and mandatory locking enabled unless an environment variable is set. This will let those in Achim's camp use the official Cygwin SQLite but ask it to run in pure POSIX mode.

A test build will appear later today.

Please give the 32 bit snapshot a try ASAP.

As I see it, the test will proceed in several stages:

0. I patch SQLite and run it against both .18 and your snapshot, and strace it to verify that fcntl(fd, 0x99, 1) is called and returns 0 with the snapshot and returns -1 with errno == EINVAL for .18. Both count as "success" so we don't have to require .19.

1. I upload it, and Achim and Yaakov try it and see if this new build satisfies their use cases.

2. I promote test to curr -- waiting for .19 to hit the mirrors if Achim and Yaakov get back to me before that -- and wait for screams from the users.

3. A month or two hence, I'll tell upstream about the patch, and hope they adopt it.

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]