Acked-by: Alin Gabriel Serdean <aserd...@cloudbasesolutions.com>
> -----Mesaj original----- > De la: dev [mailto:dev-boun...@openvswitch.org] În numele Paul Boca > Trimis: Friday, July 15, 2016 5:21 PM > Către: dev@openvswitch.org > Subiect: [ovs-dev] [PATCH V7 05/16] python tests: Added fcntl module for > Windows > > This is needed for lockf function used to lock the PID file on Windows. > ioctl and fcntl functions are not implemented at this time because they are > not used by any script. > > Signed-off-by: Paul-Daniel Boca <pb...@cloudbasesolutions.com> > --- > V2: No changes > V3: No changes > V4: No changes > V5: No changes > V6: No changes > V7: Fixed flake8 errors and removed unused functions. > --- > python/automake.mk | 1 + > python/ovs/fcntl_win.py | 28 ++++++++++++++++++++++++++++ > 2 files changed, 29 insertions(+) > create mode 100644 python/ovs/fcntl_win.py > > diff --git a/python/automake.mk b/python/automake.mk index > ecad39d..1c8fa38 100644 > --- a/python/automake.mk > +++ b/python/automake.mk > @@ -11,6 +11,7 @@ ovstest_pyfiles = \ > ovs_pyfiles = \ > python/ovs/__init__.py \ > python/ovs/daemon.py \ > + python/ovs/fcntl_win.py \ > python/ovs/db/__init__.py \ > python/ovs/db/data.py \ > python/ovs/db/error.py \ > diff --git a/python/ovs/fcntl_win.py b/python/ovs/fcntl_win.py new file > mode 100644 index 0000000..a558c5e > --- /dev/null > +++ b/python/ovs/fcntl_win.py > @@ -0,0 +1,28 @@ > +import errno > +import win32con > +import win32file > +import pywintypes > +import msvcrt > + > +LOCK_EX = win32con.LOCKFILE_EXCLUSIVE_LOCK LOCK_SH = 0 # the > default > +LOCK_NB = win32con.LOCKFILE_FAIL_IMMEDIATELY > +LOCK_UN = 0x80000000 # unlock - non-standard > + > + > +def lockf(fd, flags, length=0xFFFF0000, start=0, whence=0): > + overlapped = pywintypes.OVERLAPPED() > + hfile = msvcrt.get_osfhandle(fd.fileno()) > + if LOCK_UN & flags: > + ret = win32file.UnlockFileEx(hfile, 0, start, length, overlapped) > + else: > + try: > + ret = win32file.LockFileEx(hfile, flags, start, length, > overlapped) > + except: > + raise IOError(errno.EAGAIN, "", "") > + > + return ret > + > + > +def flock(fd, flags): > + lockf(fd, flags, 0xFFFF0000, 0, 0) > -- > 2.7.2.windows.1 > _______________________________________________ > dev mailing list > dev@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev