A new Python header
Kirk McDonald
kirklin.mcdonald at gmail.com
Wed Jun 21 00:59:06 PDT 2006
Kirk McDonald wrote:
> Ha! I fixed it. It was a stupid problem. I managed to decrement a
> reference count when I shouldn't have, causing Python to free()
> something twice when the interpreter closed down.
>
> Kirk McDonald wrote:
>
>> // Note the new function template syntax. Ohh, ahh.
>> typeof(Ptr) lazy_sys(alias Ptr, char[] name) () {
>> if (Ptr is null) {
>> PyObject* sys_modules = PyImport_GetModuleDict();
>> Ptr = PyDict_GetItemString(sys_modules, name ~ \0);
>
> This one right here; GetModuleDict returns a borrowed reference!
>
>> Py_DECREF(sys_modules);
>> assert (Ptr !is null,
>> "python.d couldn't load " ~ name ~ " attribute!");
>> }
>> return Ptr;
>> }
>>
>
> Anyway, the updated (and now working) header can be found at:
>
> http://216.190.88.10/media/python.d
>
> -Kirk McDonald
Durrrr, that's not the right URL. It's this:
http://216.190.88.10:8087/media/python.d
-Kirk McDonald
More information about the Digitalmars-d
mailing list