From jessel@inago.com Thu May 17 13:56:35 2001
Path: nntp1-sf.pbi.net!cyclone-sf.pbi.net!63.208.208.143!feed2.onemain.com!feed1.onemain.com!newsfeed.direct.ca!look.ca!news1.tor.metronet.ca!nnrp1.tor.metronet.ca!not-for-mail
Message-ID: <3B043A44.67FC96AB@inago.com>
From: Deech <jessel@inago.com>
X-Mailer: Mozilla 4.72 [en] (WinNT; U)
X-Accept-Language: en
MIME-Version: 1.0
Newsgroups: comp.lang.tcl
Subject: multithreaded tcl crashes c program if we create interp 
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Lines: 35
Date: Thu, 17 May 2001 20:56:35 GMT
NNTP-Posting-Host: 209.82.41.12
NNTP-Posting-Date: Thu, 17 May 2001 14:56:35 MDT
Organization: MetroNet Communications Group Inc.
Xref: cyclone-sf.pbi.net comp.lang.tcl:111009

I apologize for the repost but I have recieved no help in the last few
weeks.
We have a C program that links against a multithreaded build of the
tcl8.4 library running on Windows NT.

If we create an interpreter, then delete the interpreter and let the
code execution complete normally we have no problems.

If however, we do not wait for the code to complete but put in a pause
(see below) then close the console, the debugger reports that the
Tcl84.dll excepts! Our application will be run in an environment where
this sort of program termination will be common. This was not a problem
when we were linked agaist a non-multithreaded library.

Code that shows these properties looks exactly like this...


#include
int main( int argc, char* argv[] )
{
    printf( "start!\n");
    Tcl_Interp* m_pInterp = Tcl_CreateInterp();
    Tcl_Init(m_pInterp);    //no init errors!
    Tcl_DeleteInterp(m_pInterp);
    printf( "close the window!\n");
    getchar();    //at this pause we click the 'x' on the console.
    return 0;
}

Please respond with some sort of suggestion. Am I missing something
here?
Jessel@inago.com




