On Sun, Jul 4, 2010 at 10:44 PM, Craig McQueen
<[email protected]> wrote:
>
>
> On Sat 3/07/2010 4:25 AM, Anthony Tuininga wrote:
>
> On Thu, Jul 1, 2010 at 9:03 PM, Craig McQueen
> <[email protected]> wrote:
>
> I looked at the source code, and found that in the initscripts/Console.py--
> http://cx-freeze.svn.sourceforge.net/viewvc/cx-freeze/trunk/initscripts/Console.py?revision=205&view=markup
>
> --there are the following lines:
>
>     if sys.version_info[:2] >= (2, 5):
>         module = sys.modules.get("threading")
>         if module is not None:
>             module._shutdown()
>
> If these lines are commented-out, then the error message at exit does not
> occur.
>
> Why are those lines there, and what is the consequence of me removing them?
>
> Hi Craig,
>
> The reason those lines are there is because without them any threads
> that are currently running will simply die when the application ends.
> The Python interpreter itself calls an internal routine that waits for
> the threads to terminate on their own. Its unfortunate that this isn't
> included inside Py_Finalize() but its not. Before Python 2.5, this was
> done via means of an atexit function (which happened inside
> Py_Finalize) but with Python 2.5 and up this has been changed to call
> a special function within the main routine of the Python interpreter.
> I have replicated the behavior using the above lines and that has
> worked for me for some time. Would you be able to send me a sample
> program that I can run and that demonstrates the problem? Thanks.
>
> Anthony
>
>
> I am just reading "What's new in Python 2.7" (since Python 2.7 has just been
> released). I see it says:
>
> * The Py_Finalize() function now calls the internal threading._shutdown()
> function; this prevents some exceptions from being raised when an
> interpreter shuts down. (Patch by Adam Olsen; issue 1722344.)

Hooray!

> So does that call to threads._shutdown() in initscripts/Console.py need to
> be reviewed for usage under Python 2.7?

Indeed. That code can/should be removed for Python 2.7.

Anthony

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
cx-freeze-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cx-freeze-users

Reply via email to