Graham Labdon schreef op 23-2-2015 om 12:06: > Hi > > It seems that I needed to do a removeStaleLockFile when I had previously > stopped my program via the debugger. > > I can now get a lock on the file, however, I cannot now open it for writing. Why would you want to write to a lock file? A lock file protects a resource, it isn't the same as the resource itself. I have not checked, but I guess the implementation writes the pid of the process that created the file into the file, and expects this to be the only content of the file. > > This is the pseudo code for what I need to do > > Lock file > Open file > Write text > Close file > Unlock file > > Is this the correct way ? - I guess not as I cannot open the file for writing That is because the file is not yours to write to. It is owned by QLockFile. At least, that is how I understand it.
André > > Thanks > > -----Original Message----- > From: interest-bounces+graham.labdon=avalonsciences....@qt-project.org > [mailto:interest-bounces+graham.labdon=avalonsciences....@qt-project.org] On > Behalf Of André Somers > Sent: 23 February 2015 10:44 > To: interest@qt-project.org > Subject: Re: [Interest] QLockFile > > Graham Labdon schreef op 23-2-2015 om 11:36: >> Hi >> >> QString path = "C:\jobs\Test1\job.xcfg"; QFile file(path); >> >> bool res = file.open(QIODevice::WriteOnly); >> >> here res is true > But, the path is once again wrong. Use \\ or /, but not \ in string literal > paths. >> BUT >> >> QString path = "C:\jobs\Test1\job.xcfg"; QLockFile lock(path); >> >> bool res = lock.tryLock(); >> >> here res is false >> >> BUT >> QLockFile lock("C:\jobs\Test1\job.xcfg"); >> >> bool res = lock.tryLock(); >> >> here res is true! > And you are sure that you are only locking once? And what does error() return > when tryLock fails? > > André > > P.S. Please keep the discussion on the list, not in private mail. > >> Thanks for your time >> -----Original Message----- >> From: interest-bounces+graham.labdon=avalonsciences....@qt-project.org >> [mailto:interest-bounces+graham.labdon=avalonsciences.com@qt-project.o >> rg] On Behalf Of André Somers >> Sent: 23 February 2015 10:15 >> To: interest@qt-project.org >> Subject: Re: [Interest] QLockFile >> >> Graham Labdon schreef op 23-2-2015 om 11:10: >>> Yes I am sure >>> I have tried this with numerous file locations and different ways of >>> constructing a QLockFile and the ONLY on that works is if I hard code an >>> non escaped file path. >> The non-escaped path will point to a different location than what you think >> it points to. That may be why that one succeeds. >> >> I have used QLockFile successfully (with "dynamic" paths). So, there really >> is something wrong with your way of using it, not with QLockFile itself. >> >> Did you try opening a file yourself at the location you want from code using >> QFile and opening it write only? What happens if you do that? >> >> André >> >>> -----Original Message----- >>> From: André Somers [mailto:an...@familiesomers.nl] >>> Sent: 23 February 2015 10:07 >>> To: Graham Labdon >>> Subject: Re: [Interest] QLockFile >>> >>> Graham Labdon schreef op 23-2-2015 om 11:00: >>>> Hi >>>> The filePath is definitely valid >>>> >>>> The only way I can get QLockFile to work at the moment is by hard coding >>>> an invalid c string as in my example. >>>> >>>> If I use double backslashes in the hard code version tryLock fails >>>> >>> Are you sure you can actually write at that location? >>> >>> André >>> >> _______________________________________________ >> Interest mailing list >> Interest@qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest > _______________________________________________ > Interest mailing list > Interest@qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest