private DaemonClientConnection connectToDaemonWithId( DaemonStartupInfo startupInfo, ExplainingSpec<DaemonContext> constraint) throws ConnectException { // Look for 'our' daemon among the busy daemons - a daemon will start in busy state so that // nobody else will grab it. for (DaemonInfo daemonInfo : daemonRegistry.getBusy()) { if (daemonInfo.getContext().getUid().equals(startupInfo.getUid())) { try { if (!constraint.isSatisfiedBy(daemonInfo.getContext())) { throw new GradleException( "The newly created daemon process has a different context than expected." + "\nIt won't be possible to reconnect to this daemon. Context mismatch: " + "\n" + constraint.whyUnsatisfied(daemonInfo.getContext())); } return connectToDaemon(daemonInfo, startupInfo.getDiagnostics()); } catch (ConnectException e) { throw new GradleException( "The forked daemon process died before we could connect.\n" + startupInfo.describe(), e); } } } return null; }
public DaemonClientConnection connect(ExplainingSpec<DaemonContext> constraint) { DaemonClientConnection connection = findConnection(daemonRegistry.getIdle(), constraint); if (connection != null) { return connection; } return startDaemon(constraint); }
public DaemonClientConnection connect(ExplainingSpec<DaemonContext> constraint) { DaemonClientConnection connection = findConnection(daemonRegistry.getIdle(), constraint); if (connection != null) { return connection; } if (!Boolean.getBoolean(DISABLE_STARTING_DAEMON_MESSAGE_PROPERTY)) { LOGGER.lifecycle(STARTING_DAEMON_MESSAGE); } return startDaemon(constraint); }
public DaemonClientConnection maybeConnect(ExplainingSpec<DaemonContext> constraint) { return findConnection(daemonRegistry.getAll(), constraint); }