Jeff Robbins added the comment:
Editing one line in structseq.h seems to fix the issue.
I changed this
extern char* PyStructSequence_UnnamedField;
to
PyAPI_DATA(char*) PyStructSequence_UnnamedField;
rebuilt, and now my C extension can use PyStructSequence_UnnamedField.
--
Added
New submission from Jeff Robbins :
Python 3.8.0b3 has the fixed
https://docs.python.org/3/c-api/tuple.html#c.PyStructSequence_NewType, but one
of the documented features of PyStructSequence is the special
https://docs.python.org/3/c-api/tuple.html#c.PyStructSequence_UnnamedField
which is
Jeff Robbins added the comment:
Steve, sorry to be dense, but I'm unfortunately ignorant as to what tests I
ought to be running. The only test I have right now is much too complicated,
and I'd rather be running some official regression test that reveals the
problem without my ap
Jeff Robbins added the comment:
Steve, I did some more digging into why the native condition variable approach
might be causing problems on Windows. Testing my fix revealed that there is at
least one place in Modules\overlapped.c that either
a) waits too long to call GetLastError(), or
Jeff Robbins added the comment:
I don't understand why 0 would be safer. Since asyncio can only service this
IOCP from its single threaded event loop, I would have thought 1 would express
the intent better.
Why not convey to the OS what we're up to, in case that helps it do a b
Jeff Robbins added the comment:
I searched harder. :-)
https://bugs.python.org/issue29871
I see that someone else already noticed this broken function, but I guess
it was left broken because of other issues with using condition variables
instead of the emulated ones?
Still, the code is
Jeff Robbins added the comment:
I did a search and couldn't find exactly this issue. This issue is about a
broken function. It is broken because it treats a timeout as a fatal error
which crashes your Python program.
I supplied a proposed fix for the function.
If there are other known i
New submission from Jeff Robbins :
Python 3.x defaults to using emulated condition variables on Windows. I tested
a build with native Windows condition variables (#define _PY_EMULATED_WIN_CV
0), and found a serious issue.
The problem is in condvar.h, in this routine:
/* This
Jeff Robbins added the comment:
This issue is likely a duplicate of https://bugs.python.org/issue34323
which was reported in Python 3.5.
--
___
Python tracker
<https://bugs.python.org/issue35
New submission from Jeff Robbins :
The close() method of IocpProactor in windows_events.py has this code in its
close() method:
while self._cache:
if not self._poll(1):
logger.debug('taking long time to close proactor')
The bug is that self._poll
Jeff Robbins added the comment:
Per
https://stackoverflow.com/questions/38133870/how-the-parameter-numberofconcurrentthreads-is-used-in-createiocompletionport,
it seems that `NumberOfConcurrentThreads` controls what happens when multiple
threads call `GetQueuedCompletionStatus`.
But
New submission from Jeff Robbins :
By default, the __init__ function of IocpProactor in windows_events.py calls
CreateIoCompletionPort with a 4th argument of 0x, yet MSDN doesn't
document this as a valid argument.
https://docs.microsoft.com/en-us/windows/desktop/f
Jeff Robbins added the comment:
Thanks for the pointer to the .msi.
The fix solved my apsw build problem.
I installed Python 3.3.a2 and apsw-3.7.11-r1. I ran this build:
C:\Temp\apsw-3.7.11-r1>c:\Python33\python setup.py fetch --all
build --enable-all-extensions install
apsw built
Jeff Robbins added the comment:
I'm happy to try another build of apsw, but am not up-to-speed with how to
get development copies of Python. As a user, I typically download the
latest Windows .msi file and install it. If you can point me to a document
on how to proceed, I'll giv
Jeff Robbins added the comment:
Stefan asked
'Did you include Python.h before or after Windows.h? Extensions
are supposed to include Python.h before anything else. '
I downloaded http://code.google.com/p/apsw/ to test it out on the latest sqlite
release. I followed the build instr
Jeff Robbins added the comment:
re Stefan Krah's posting:
I am sorry if I've caused any confusion. I am building a Python extension
(APSW), and it includes the sqlite "amalgamation" and also includes Python.h.
Sqlite includes Windows.h. Which then causes the prob
Jeff Robbins added the comment:
The easiest fix would be to rename the "small" field in accu.h (and of course
in any file that references that field.) I have no idea who uses this file.
Perhaps the 2nd easiest fix would be to put this after the #include of Windows.h
#ifdef sm
New submission from Jeff Robbins :
Windows.h includes RpcNdr.h which does this:
#define small char
accu.h in Python\Include (Python 3.2.3rc2) has this in it:
typedef struct {
PyObject *large; /* A list of previously accumulated large strings */
PyObject *small; /* Pending small
18 matches
Mail list logo