On Mon, 2015-10-12 at 14:49 +0200, Samuel Thibault wrote:
> Svante Signell, le Mon 12 Oct 2015 14:45:09 +0200, a écrit :
> > On Mon, 2015-10-12 at 02:08 +0200, Samuel Thibault wrote:
> > > The commit I have just pushed, which does make sense, does fix gpsd at
> > > least.

> Please erase your build tree and restart the build from scratch. You
> probably have a remaining non-writable gpsd.udev file.

Yes, I had forgotten to remove it. Thanks!

> > Since the packages I've built builds fine using the condition below:
> > if (file != MACH_PORT_NULL && (nn->openmodes & newmodes))
> > please explain what is wrong with it and why it works while your does
> > not?
> 
> I have explained at length how the function is supposed to behave in
> my previous mail.  Your proposed change does not meet what I said.
> Notably, in the nn->openmodes = O_READ and newmodes = O_WRITE case,
> it'll be wrong: nn->openmodes & newmodes will be zero, and thus the
> 'file' port will be used as such, but it will not have O_WRITE mode!
> Subsequent writes to the file will then fail (and if they don't, that's
> another bug to be fixed).

OK I buy your explanation; though there seems to be remaining bugs.



Reply via email to