sqlite3: bug with monotone
Corinna Vinschen
corinna-cygwin@cygwin.com
Sun Jun 2 10:31:00 GMT 2013
Hi Warren,
On Jun 1 12:57, Corinna Vinschen wrote:
> If F_MDLCK is not such a bright idea, maybe another fcntl is? Something
> along these lines:
>
> fd = open ("my.db", ...);
> #ifdef __CYGWIN__
> fcntl (fd, F_SETLK_MAND, 1);
> #endif
>
> As for the user, we could add the g+S,g-x stuff additionally at one point,
> but I'm rather reluctant to provide these means at all. See below.
> [...]
> There's a lot to recommend not using mandatory locking at all, unless in
> very limited circumstances where interoperability with native
> applications using mandatory locking is required. [...]
I just applied a patch to implement mandatory locking. It also supports
F_GETLK, with limited usability due to Windows restrictions, as I
explained in other mail. It does NOT yet support BSD flock locking,
only POSIX fcntl locking.
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);
The name F_SETLK_MAND didn't seem right. Anyway, afterwards, you can
use the usual locking fcntls, but with Windows mandatory locking
semantics.
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'm just about to generate a 2013-06-02 developer snapshot for 32 bit,
a 64 bit DLL will follow tomorrow.
Please give the 32 bit snapshot a try ASAP. I intend to release 1.7.19
very soon, probably tomorrow or Tuesday.
Thanks,
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat
--
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
More information about the Cygwin
mailing list