Thread: [pywin32-checkins] pywin32/win32/src win32trace.cpp,1.12,1.13
OLD project page for the Python extensions for Windows
Brought to you by:
mhammond
From: Mark H. <mha...@us...> - 2005-01-28 00:02:35
|
Update of /cvsroot/pywin32/pywin32/win32/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv806 Modified Files: win32trace.cpp Log Message: Hack so that win32event again works on NT. Index: win32trace.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/src/win32trace.cpp,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** win32trace.cpp 9 Sep 2004 01:20:52 -0000 1.12 --- win32trace.cpp 28 Jan 2005 00:02:23 -0000 1.13 *************** *** 46,49 **** --- 46,61 ---- const char *EVENT_EMPTY_OBJECT_NAME = "Global\\PythonTraceOutputEmptyEvent"; + // Function to remove the "Global\\" prefix on NT4/9x + static const char *FixupObjectName(const char *global_name) + { + OSVERSIONINFO info; + info.dwOSVersionInfoSize = sizeof(info); + GetVersionEx(&info); + if (info.dwMajorVersion <= 4) // NT, 9x + return strchr(global_name, '\\')+1; + // 2000 or later - "Global\\" prefix OK. + return global_name; + } + // no const because of python api, this is the name of the entry // in the sys module that we store our PyTraceObject pointer *************** *** 221,225 **** } Py_BEGIN_ALLOW_THREADS ! *pHandle = CreateFileMapping((HANDLE)-1, &sa, PAGE_READWRITE, 0, BUFFER_SIZE, MAP_OBJECT_NAME); Py_END_ALLOW_THREADS if (*pHandle==NULL) { --- 233,237 ---- } Py_BEGIN_ALLOW_THREADS ! *pHandle = CreateFileMapping((HANDLE)-1, &sa, PAGE_READWRITE, 0, BUFFER_SIZE, FixupObjectName(MAP_OBJECT_NAME)); Py_END_ALLOW_THREADS if (*pHandle==NULL) { *************** *** 572,576 **** }; - extern "C" __declspec(dllexport) void initwin32trace(void) --- 584,587 ---- *************** *** 603,607 **** assert(hMutex == NULL); ! hMutex = CreateMutex(&sa, FALSE, MUTEX_OBJECT_NAME); if (hMutex==NULL) { PyWin_SetAPIError("CreateMutex"); --- 614,618 ---- assert(hMutex == NULL); ! hMutex = CreateMutex(&sa, FALSE, FixupObjectName(MUTEX_OBJECT_NAME)); if (hMutex==NULL) { PyWin_SetAPIError("CreateMutex"); *************** *** 609,613 **** } assert (hEvent==NULL); ! hEvent = CreateEvent(&sa, FALSE, FALSE, EVENT_OBJECT_NAME); if (hEvent==NULL) { PyWin_SetAPIError("CreateEvent"); --- 620,624 ---- } assert (hEvent==NULL); ! hEvent = CreateEvent(&sa, FALSE, FALSE, FixupObjectName(EVENT_OBJECT_NAME)); if (hEvent==NULL) { PyWin_SetAPIError("CreateEvent"); *************** *** 615,619 **** } assert (hEventEmpty==NULL); ! hEventEmpty = CreateEvent(&sa, FALSE, FALSE, EVENT_EMPTY_OBJECT_NAME); if (hEventEmpty==NULL) { PyWin_SetAPIError("CreateEvent"); --- 626,630 ---- } assert (hEventEmpty==NULL); ! hEventEmpty = CreateEvent(&sa, FALSE, FALSE, FixupObjectName(EVENT_EMPTY_OBJECT_NAME)); if (hEventEmpty==NULL) { PyWin_SetAPIError("CreateEvent"); |