Some of the tcltest constraint initialization code is
nontrivial. A caller may want to avoid running the
initialization code. In my case, running the
constraint initialization code hangs my application.
This patch uses [info exists] to test a constraint
first, and runs the code to set the constraint if it
doesn't already exist.
This patch is incomplete; it only handles the (stdio)
constraint. If you agree with this style of test-
first constraint setting, I can patch the other
constraints and submit them.
My example: I have a client app which opens an
exclusive connection to a server. When this app tries
to spawn itself (while setting the stdio constraint),
it deadlocks waiting for the exclusive connection to
the server. Whether this is good app design is
outside the scope of this patch!
Most of this patch is whitespace-only change.