[prev in list] [next in list] [prev in thread] [next in thread] 

List:       ms-atl
Subject:    Re: Microsoft Confirms STL Map deadlocks entire C Runtime Library
From:       Kenneth Kasajian <kenneth.kasajian () WONDERWARE ! COM>
Date:       2000-06-30 0:49:13
[Download RAW message or body]


I find it ironic that one of the driving forces of C++ exception
hanlding was to reduce "code bloat" without explicitly using "goto".
This was a reality when you had one big program all linked together
into a simple image.

However, now that we're living in a world of components, and
the additional requirement that if C++ Exception Handling is
enabled, the code pulls in the CRT, and bloats the code, the
rule now is that exception handling bloats code, so people avoid it.


-----Original Message-----
From: Jim Springfield [mailto:jimspr@EXCHANGE.MICROSOFT.COM]
Sent: Thursday, June 29, 2000 1:54 PM
To: ATL@DISCUSS.MICROSOFT.COM
Subject: Re: Microsoft Confirms STL Map deadlocks entire C Runtime
Library


While many groups here use ATL, only a few that I know of use STL,
partly due to an aversion to C++ exceptions.

--jim

-----Original Message-----
From: Mike Griffin [mailto:mikeg@ITANGO.COM]
Sent: Thursday, June 29, 2000 1:39 PM
To: ATL@DISCUSS.MICROSOFT.COM
Subject: Re: Microsoft Confirms STL Map deadlocks entire C Runtime
Library


Download the Symbol files for Windows 2000 and you'll see that most of
COM+,
SQLOLEDB, OLEDB32 and half the operating system is written in ATL and
there's STL in there as well, here's why the OS is all wrapped up the
global
Rtl critical section.  Very buggy

NTDLL! ZwWaitForSingleObject@12 + 11 bytes
NTDLL! RtlpWaitForCriticalSection@4 + 116 bytes
NTDLL! RtlEnterCriticalSection@4 + 17061 bytes
BCCORE! 0c010141()
BCCORE! 0c010352()
BCCORE! 0c031d50()
SQLOLEDB! CCriticalSection::Enter(void) + 21 bytes
SQLOLEDB! CImpIDBProperties::SetProperties(unsigned long,struct
tagDBPROPSET
* const) + 45 bytes
OLEDB32! CMRCM::FinalConstruct(void) + 4 bytes
OLEDB32! CDPO::Initialize(void) + -131085 bytes
OLEDB32! [thunk]:ATL::CComContainedObject<class
CDPO>::AddRef`adjustor{4}'
(void) + 3 bytes
KERNEL32! BaseThreadStart@8 + 82 bytes

-----Original Message-----
From: Joe O'Leary [mailto:JOLeary@ARTISOFT.COM]
Sent: Thursday, June 29, 2000 1:37 PM
To: ATL@DISCUSS.MICROSOFT.COM
Subject: Re: Microsoft Confirms STL Map deadlocks entire C Runtime
Library


(reply below

> Brad Wilson wrote:
> [Reply inline]
> Once upon a time, Joe O'Leary mused:
>
> > I don't think that the deadlocks you are getting
> > are due the OS (you didn't say which one), though.
> > I doubt that MS built much (if any) of it using
> > their own Standard C++ Library implementation.
>
> To the best of the rumors I've heard, all OS kernels
> have been and still are written in C (and assembler,
> where necessary/prudent).

Much of the Windows 2000 COM+ code was supposedly written in C++.   You
can
see the class names (or at least what *looks* like class names) if you
step
through the marshaling/creation code with debug symbols installed.

Granted, that's not exactly a part of the kernel but it is still
arguably
part of the OS, especially given Microsoft's ever expanding defintion of
what an OS really is :-)

----------------------------------------------------------------
Users Guide http://msdn.microsoft.com/workshop/essentials/mail.asp
contains important info including how to unsubscribe.  Save time, search
the archives at http://discuss.microsoft.com/archives/index.html

----------------------------------------------------------------
Users Guide http://msdn.microsoft.com/workshop/essentials/mail.asp
contains important info including how to unsubscribe.  Save time, search
the archives at http://discuss.microsoft.com/archives/index.html

----------------------------------------------------------------
Users Guide http://msdn.microsoft.com/workshop/essentials/mail.asp
contains important info including how to unsubscribe.  Save time, search
the archives at http://discuss.microsoft.com/archives/index.html

----------------------------------------------------------------
Users Guide http://msdn.microsoft.com/workshop/essentials/mail.asp
contains important info including how to unsubscribe.  Save time, search
the archives at http://discuss.microsoft.com/archives/index.html

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic