Hi Guru!

I will re-spin the patch with LOCKFILE_FAIL_IMMEDIATELY flag set to avoid
the hang of other daemons.

Thanks,
Paul

> -----Original Message-----
> From: dev [mailto:dev-boun...@openvswitch.org] On Behalf Of Guru Shetty
> Sent: Friday, July 15, 2016 6:58 AM
> To: Alin Serdean
> Cc: dev@openvswitch.org
> Subject: Re: [ovs-dev] [PATCH V7] windows: Added lockf function and lock
> PID file
> 
> On 14 July 2016 at 20:03, Alin Serdean <aserd...@cloudbasesolutions.com>
> wrote:
> 
> >
> >
> > De la: Guru Shetty [mailto:g...@ovn.org]
> > Trimis: Friday, July 15, 2016 5:49 AM
> > Către: Alin Serdean <aserd...@cloudbasesolutions.com>
> > Cc: Paul Boca <pb...@cloudbasesolutions.com>; dev@openvswitch.org
> > Subiect: Re: [ovs-dev] [PATCH V7] windows: Added lockf function and lock
> > PID file
> >
> >
> >
> > On 14 July 2016 at 19:25, Alin Serdean <aserd...@cloudbasesolutions.com
> > <mailto:aserd...@cloudbasesolutions.com>> wrote:
> >
> > [Alin Gabriel Serdean: ]
> > https://msdn.microsoft.com/en-
> us/library/windows/desktop/aa365203(v=vs.85).aspx
> > The part:
> > "If the same range is locked with an exclusive and a shared lock, two
> > unlock operations are necessary to unlock the region; the first unlock
> > operation unlocks the exclusive lock, the second unlock operation unlocks
> > the shared lock."
> >
> > I see. Thank you. (I am blind!).   I wonder whether we actually need the
> > exclusive lock then? If what we need is just shared lock, why not just take
> > it in the beginning? Would it have been possible to open the file in write
> > mode if someone had taken the exclusive lock in the first place?
> >
> > [Alin Gabriel Serdean: ] No worries the MS documentation is not that easy
> > to follow or precise in certain scenarios ☺.
> > The problem is “Locking a portion of a file for shared access denies all
> > processes write access to the specified region of the file, including the
> > process that first locks the region. All processes can read the locked
> > region.”
> > “Locking a portion of a file for exclusive access denies all other
> > processes both read and write access to the specified region of the file.
> > Locking a region that goes beyond the current end-of-file position is not
> > an error.”
> > I agree it doesn’t make any sense why a shared lock would block the owner
> > but probably they had reasons to implement it that way.
> >
> > What I was trying to say was, we open the file in write mode. It wouldn't
> > have been successful if someone else had taken a lock (exclusive or
> > shared). Am I correct? If so, why take exclusive lock again to write? Just
> > write the pid and then take shared lock. Would that cause problems? (I
> must
> > be missing some subtlety here.)
> > [Alin Gabriel Serdean: ] If we just open the file in write mode and write
> > the pid and then take the shared lock, someone else could write in the file
> > between the moment we opened it and gained the shared lock.
> >
> > Thanks, I understand it now. (I had to write a small program to get it.) I
> did see though that a daemon will hang if it tries to take a exclusive lock
> without LOCKFILE_FAIL_IMMEDIATELY.
> 
> 
> _______________________________________________
> > dev mailing list
> > dev@openvswitch.org
> > http://openvswitch.org/mailman/listinfo/dev
> >
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to