[Patches] [ python-Patches-1201569 ] allow running multiple instances of IDLE

SourceForge.net noreply at sourceforge.net
Tue Jul 25 15:42:29 CEST 2006


Patches item #1201569, was opened at 2005-05-13 21:03
Message generated for change (Comment added) made by taleinat
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=305470&aid=1201569&group_id=5470

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: IDLE
Group: None
Status: Open
Resolution: Later
Priority: 3
Submitted By: Jeff Shute (jshute)
Assigned to: Kurt B. Kaiser (kbk)
Summary: allow running multiple instances of IDLE

Initial Comment:
This patch will allow running multiple instances of
IDLE in the default (mutli-process) mode by choosing
the first available port from 8833-8893 instead of
failing when another IDLE has already bound port 8833.

(Not tested on windows.)

----------------------------------------------------------------------

Comment By: Tal Einat (taleinat)
Date: 2006-07-25 16:42

Message:
Logged In: YES 
user_id=1330769

First of all, there is (theoretically) no reason to un IDLE
-without- a subprocess. The subprocess is an awesome feature
and I feel that it should be the (good, usable, reliable)
default.

IDLE's "Run Module" option is very handy but its behavior
depends on whether or not there is a subprocess. If there is
a subprocess it restarts the interpreter every time, which
is good! If there is no subprocess it runs the module the
first time, and later does nothing (because of Python's
import-once mechanism).

On windows the Python installer adds "Edit with IDLE" to
Explorer's right-click context menu, which is VERY
convenient. But this shortcut start IDLE with the -n
precisely because of this subprocess issue. So if I want to
be able to use Run Module and have the interpreter restart,
I have to manually open the file for editting. Yes, it's
something I can live with, but it's a serious turn-off for
new users.

I often teach Python using IDLE.  Having IDLE sometimes run
with a subprocess and sometimes without confuses new users,
so I end up having to explain the subprocess issue very
early, and they still get bitten by it a few times. And they
also have to manually open files instead of using the "Edit
with IDLE" shortcut.


Allowing multiple instances, each with a subprocess
listening on a different port, seems like the cleanest
solution. Whatever socket issues there are, let's get them
cleared up!

P.S. I've been using this patch for some time, it works
pretty well but not 100%.

----------------------------------------------------------------------

Comment By: Jeff Shute (jshute)
Date: 2005-05-18 15:52

Message:
Logged In: YES 
user_id=39615

My use case is just that I find it annoying that in the
default mode, you can't run multiple instances, and I kept
seeing the annoying dialog box and having to restart.  I
normally use -n mode partly because of this, but sometimes I
forget.  It seemed like a trivial fix.

Regarding the note, I didn't understand the comment because
it doesn't say why.  I thought maybe it was done that way so
that it could be made to fail so the error messages could be
tested.  It seemed like you avoid the sleep() and several
race conditions by starting the listener first.

----------------------------------------------------------------------

Comment By: Kurt B. Kaiser (kbk)
Date: 2005-05-18 07:37

Message:
Logged In: YES 
user_id=149084

Duplicate of IDLEfork 661363

Will not be considered until remaining problems with socket
binding on Windows have been resolved.

Note: You can start as many copies of IDLE as you want with 
the -n switch.  What is your use case?

Also note:
# spawning first avoids passing a listening socket to the subprocess

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=305470&aid=1201569&group_id=5470


More information about the Patches mailing list