Any chance you would be willing to license this file under a permissive license such as MIT/ISC?
http://cvs.synchro.net/cgi-bin/viewcvs.cgi/src/xpdev/filewrap.c?view=markup
I'm trying to get file-range locking support into libuv/node.js so that it can work with record locking files.
Any chance you would be willing to license this file under a permissive license such as MIT/ISC?
http://cvs.synchro.net/cgi-bin/viewcvs.cgi/src/xpdev/filewrap.c?view=markup
Any chance you would be willing to license this file under a permissive license such as MIT/ISC?
http://cvs.synchro.net/cgi-bin/viewcvs.cgi/src/xpdev/filewrap.c?view=mark up
I'm trying to get file-range locking support into libuv/node.js so that it can work with record locking files.
LGPL isn't permissive enough?
Anyway, if you seriously think it'll be used, I have no problem ammending the license or dual-licensing or whatever.
It's already LGPL... and that code has stuff that's fairly specific to my system (my F_SANERDLCKNO patch was never accepted into FreeBSD).
Pulling that in to something else that's not based around the DOS share modes would be a mistake IMHO. Synchronet has a long history of using SHARE stuff, so it makes sense to emulate that on other OSs. This likely does NOT make sense for libuv.
Any chance you would be willing to license this file under a permissive license such as MIT/ISC?
http://cvs.synchro.net/cgi-bin/viewcvs.cgi/src/xpdev/filewrap.c?view=m ark up
I'm trying to get file-range locking support into libuv/node.js so that it can work with record locking files.
LGPL isn't permissive enough?
Anyway, if you seriously think it'll be used, I have no problem ammending the license or dual-licensing or whatever.
libuv isn't (L)GPL, so even looking at the source beyond
the license at the top could be considered to be tainting
the project in question.
Pulling that in to something else that's not based around the DOS share modes would be a mistake IMHO. Synchronet has a long history of using SHARE stuff, so it makes sense to emulate that on other OSs. This likely does NOT make sense for libuv.
Fair enough, but isn't range locking important to interoperate
with different programs (such as synchronet)? If I use node's
shared read/write access and don't do any locking, won't
things potentially mess up?
libuv isn't (L)GPL, so even looking at the source beyond
the license at the top could be considered to be tainting
the project in question.
The whole point of LGPL is to be able to create libraries (like xpdev) that can be shared with other (non-GPL) projects. Has someone told you that you couldn't possibly link an LGPL-licensed library with libuv?
A particularly bad thing about *nix fcntl() locks is that if any thread in the process closes a file, ALL LOCKS held on that file are lost - even if they have a different file handle (thread1 opens "/tmp/temp" and locks the first byte, thread2 opens "/tmp/temp" and locks the second byte, thread1 closes "/tmp/temp", and thread2 no longer has the second byte locked).
The UAV issue 318 you mentioned seems to have a cross-platform locking API already, so using that should work.
Regarding the locked read/write functions mentioned in node.js issue #1426, those functions would be mostly useless... the idea is that that you lock a record to prevent anyone else from changing it for a period of time. The most common usage is if you're going to update it... you lock the record, read it, modify it, write it, then unlock it. If the lock only protectsthe
read and the write, you can end up losing changes someone else did whileyou
modified your copy.
The UAV issue 318 you mentioned seems to have a cross-platform locking API already, so using that should work.
Will have to double-check as the library mentioned didn't have a windows implementation, not that I personally need it, but anything I write around it wouldn't be cross platform.
Re: Re: Source Request
By: tracker1 to Deuce on Thu Nov 19 2015 07:26 pm
The UAV issue 318 you mentioned seems to have a cross-platform locking API already, so using that should work.
Will have to double-check as the library mentioned didn't have a windows implementation, not that I personally need it, but anything I write around it wouldn't be cross platform.
I took a quick glimpse at that code, and I'm pretty sure I saw Windows support in there. I could be mis-remembering I suppose.
Sysop: | Ragnarok |
---|---|
Location: | Dock Sud, Bs As, Argentina |
Users: | 136 |
Nodes: | 10 (0 / 10) |
Uptime: | 06:17:25 |
Calls: | 15,171 |
Calls today: | 4 |
Files: | 19,857 |
D/L today: |
7 files (164K bytes) |
Messages: | 1,691,352 |