On Thu, 24 May 2012 15:44:28 -0400, Sean Kelly <s...@invisibleduck.org>
wrote:
On May 22, 2012, at 2:01 PM, Steven Schveighoffer wrote:
On Tue, 22 May 2012 15:16:30 -0400, Denis Shelomovskij
<verylonglogin....@gmail.com> wrote:
21.05.2012 2:13, Alex Rønne Petersen написал:
On 20-05-2012 22:13, Jacob Carlborg wrote:
On 2012-05-20 18:25, Alex Rønne Petersen wrote:
Seems like I misunderstood what you were saying. Right, the C
runtime on
*Windows* is closed source. But, I don't know why you think that
function is called by the C runtime; see src/rt/dmain2.d.
Have a look again. It's only called on Posix:
https://github.com/D-Programming-Language/druntime/blob/7d663821d39cfe8874cb95b0df46b5065a770cef/src/rt/dmain2.d#L364
I stand corrected. I had no idea about the magic involved here!
The proprietary Windows tool chain is seriously problematic...
So can anybody do something with it? At least document a bit what does
proprietary part do.
It looks like code that is not called on Windows. Which doesn't make
sense. It would seem that you must initialize a critical section in
order to use it.
I can't find any reference to STI_monitor in dmd, dmc, or druntime
source code, except those calls that are done for Posix only. This
isn't some closed-source mystery, I think it is just unused code.
Sean, does this make sense? Are we using uninitialized critical
sections?
This code is before my time, but I believe that DMC implicitly treats
STI functions as module ctors, and DMD inherits this behavior because it
shares a C runtime with DMC. It's been a while since I've looked at all
of this, but the full C runtime source is shipped with DMC--I have a
copy.
Yeah, I do too. I did a full text search for STI_monitor and found
nothing.
That's why I'm confused...
-Steve