Staging
v0.5.1
https://github.com/python/cpython
Revision 9052f7a41b90f2d34011c8da68f9a4facebc8a97 authored by Batuhan Taşkaya on 19 March 2020, 11:35:44 UTC, committed by GitHub on 19 March 2020, 11:35:44 UTC
1 parent 0ac59f9
Raw File
Tip revision: 9052f7a41b90f2d34011c8da68f9a4facebc8a97 authored by Batuhan Taşkaya on 19 March 2020, 11:35:44 UTC
bpo-39562: Allow executing asynchronous comprehensions in the asyncio REPL (GH-18968)
Tip revision: 9052f7a
dl_nt.c
/*

Entry point for the Windows NT DLL.

About the only reason for having this, is so initall() can automatically
be called, removing that burden (and possible source of frustration if
forgotten) from the programmer.

*/

#include "Python.h"
#include "windows.h"

#ifdef Py_ENABLE_SHARED
#ifdef MS_DLL_ID
// The string is available at build, so fill the buffer immediately
char dllVersionBuffer[16] = MS_DLL_ID;
#else
char dllVersionBuffer[16] = ""; // a private buffer
#endif

// Python Globals
HMODULE PyWin_DLLhModule = NULL;
const char *PyWin_DLLVersionString = dllVersionBuffer;

BOOL    WINAPI  DllMain (HANDLE hInst,
                                                ULONG ul_reason_for_call,
                                                LPVOID lpReserved)
{
    switch (ul_reason_for_call)
    {
        case DLL_PROCESS_ATTACH:
            PyWin_DLLhModule = hInst;
#ifndef MS_DLL_ID
            // If we have MS_DLL_ID, we don't need to load the string.
            // 1000 is a magic number I picked out of the air.  Could do with a #define, I spose...
            LoadString(hInst, 1000, dllVersionBuffer, sizeof(dllVersionBuffer));
#endif
            break;

        case DLL_PROCESS_DETACH:
            break;
    }
    return TRUE;
}

#endif /* Py_ENABLE_SHARED */
back to top