This is the mail archive of the
mailing list for the Cygwin project.
Re: sqlite3: bug with monotone
- From: Corinna Vinschen <corinna-cygwin at cygwin dot com>
- To: cygwin at cygwin dot com
- Date: Tue, 4 Jun 2013 10:48:15 +0200
- Subject: Re: sqlite3: bug with monotone
- References: <51A6B6EB dot 6050309 at users dot sourceforge dot net> <loom dot 20130530T122354-144 at post dot gmane dot org> <51A7862F dot 1070507 at etr-usa dot com> <51A7D47E dot 3050502 at users dot sourceforge dot net> <51A7F547 dot 6020509 at etr-usa dot com> <20130531092228 dot GB30659 at calimero dot vinschen dot de> <51A900EF dot 2020606 at etr-usa dot com> <20130601105741 dot GC30659 at calimero dot vinschen dot de> <20130602103125 dot GE13934 at calimero dot vinschen dot de> <51ACD415 dot 2090709 at etr-usa dot com>
- Reply-to: cygwin at cygwin dot com
On Jun 3 11:36, Warren Young wrote:
> On 6/2/2013 04:31, Corinna Vinschen wrote:
> >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.
If you call F_LCK_MANDATORY right after open in the opening routine,
there won't be (much of) a race. I know what you mean (it's the
O_CLOEXEC dilemma) but is it really that important in terms of locking?
> 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.
Well, we will have more than one round of testing, apparently...(*)
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple