_syncFireAndThread.notifyAll();
} // sync
if (!useDefaultOutput) {
returnAddress.broadcast(new StringToken(_returnAddress));
returnSocketNumber.broadcast(new IntToken(_returnSocketNumber));
output.broadcast(_outputToken);
} else {
// No fresh data, so use the default output.
// (If repeat parameter were implemented,
// would test it here and, if true, would
// repeat the most recent output instead
// of outputting the default, provided
// there is a previous output to repeat.)
// _defaultOutputToken == null when user has entered blank
// parameter. Take this as a directive to not broadcast a
// token in this case.
if (_defaultOutputToken == null) {
if (_debugging) {
_debug("DO NOT Broadcast ANY output (blank default)");
}
} else {
if (_debugging) {
_debug("Broadcast default outputs");
}
synchronized (_syncDefaultOutputs) {
// Ensure that any change to the default output parameters
// occurs atomically with respect to its use here.
returnAddress.broadcast(new StringToken(
_defaultReturnAddress));
returnSocketNumber.broadcast(new IntToken(
_defaultReturnSocketNumber));
output.broadcast(_defaultOutputToken);
}