&nbsp;&nbsp;&nbsp;&nbsp; Hi everyone,<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Can I take the tools plugins like it is and run selftest. How is it are yall working for 0.16.0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Plugins.&nbsp; <br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Bubba<br><br><br><div><span class="gmail_quote">On 3/15/07, 
<b class="gmail_sendername">Alexander Belchenko</b> &lt;<a href="mailto:bialix@ukr.net">bialix@ukr.net</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
-----BEGIN PGP SIGNED MESSAGE-----<br>Hash: SHA1<br><br>John Arbash Meinel пишет:<br>&gt; Alexander Belchenko wrote:<br>&gt;&gt; John Arbash Meinel ?8H5B:<br>&gt;<br>&gt;&gt;&gt;&gt; +&nbsp;&nbsp;&nbsp;&nbsp;class _ctypes_FileLock(_base_Lock):
<br>&gt;&gt;&gt;&gt; +<br>&gt;&gt;&gt;&gt; +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def _lock(self, filename, openmode, lockmode):<br>&gt;&gt;&gt;&gt; +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self._open(filename, openmode)<br>&gt;&gt;&gt;&gt; +<br>&gt;&gt;&gt;&gt; +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.hfile
 = msvcrt.get_osfhandle(self.f.fileno())<br>&gt;&gt;&gt;&gt; +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;overlapped = OVERLAPPED()<br>&gt;&gt;&gt;&gt; +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p_overlapped = ctypes.pointer(overlapped)<br>&gt;&gt; ^-- In my own programs I use ctypes.byref
() function to pass pointer to some<br>&gt;&gt; struct in C-function as argument. I&#39;m okay with your implementation though.<br>&gt;<br>&gt; Either way. I was looking for a way to get a pointer, and this is what I<br>&gt; found in cytypes.
<br>&gt;<br>&gt; Your idea is<br>&gt;<br>&gt; result = _LockFileEx(self.hfile,<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lockmode,<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x7fffffff,<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000000,
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;overlapped.byref(),<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br>&gt;<br>&gt; Is that correct?<br><br>No, ctypes-object does not have .byref method.<br>It should be actually: ctypes.byref(overlapped).<br>
<br>&gt; I actually submitted this, because I thought you approved from my add-on<br>&gt; patch.<br><br>Sorry for this. I vote on your second patch earlier and want to study big one as well,<br>but don&#39;t have the time to carefully read your big patch during this day.
<br>I hope I help (a little).<br><br>&gt; But I&#39;m happy to do your cleanups and submit them.<br>&gt;<br>&gt; By the way, Alexander, my branch at:<br>&gt;<br>&gt; <a href="http://bzr.arbash-meinel.com/branches/bzr/0.15-dev/locking">
http://bzr.arbash-meinel.com/branches/bzr/0.15-dev/locking</a><br>&gt;<br>&gt; now has proper support for updating the dirstate during &#39;bzr status&#39;.<br><br>Great, thanks.<br><br>&gt;<br>&gt; It also has updated fcntl locks, so it exposes the same bugs in our
<br>&gt; code. (Places where we are opening the same tree 2 times, and expecting<br>&gt; to be able to take a read and write lock at the same time).<br>&gt;<br>&gt; You may want to give it a look.<br><br>Definitely.<br><br>
[µ]<br>-----BEGIN PGP SIGNATURE-----<br>Version: GnuPG v1.4.6 (MingW32)<br>Comment: Using GnuPG with Mozilla - <a href="http://enigmail.mozdev.org">http://enigmail.mozdev.org</a><br><br>iD8DBQFF+ZdmzYr338mxwCURArCgAJ9wWrFpmDe3CQJlVUPdKa6FFiFMWgCfePHN
<br>1CuEFxk7aTfwg8a5HQR0Ri4=<br>=q8hD<br>-----END PGP SIGNATURE-----<br><br></blockquote></div><br><br clear="all"><br>-- <br>-----BEGIN PGP SIGNATURE-----<br>Version: GnuPG v1.4.3 (GNU/Linux)<br><br>iD8DBQFFkcN7yXWcajQQndYRAgbqAKCMyXN9Jx4g0X7jocg+aUSFz0x4LwCgrURW
<br>eGtqLjpzQVYa9+gzpCRtB84=<br>=zrpM<br>-----END PGP SIGNATURE-----