Bug 407613 - [remediation] Reduce resolver timeout
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Projector.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Projector.java
index d1b15eb..48c3871 100644
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Projector.java
+++ b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Projector.java
@@ -208,7 +208,11 @@
 				System.err.println("Ignoring user-specified 'eclipse.p2.projector.timeout' value of: " + timeoutString); //$NON-NLS-1$
 				e.printStackTrace();
 			}
-			solver.setTimeoutOnConflicts(timeout);
+			if (userDefinedFunction)
+				solver.setTimeoutOnConflicts(timeout / 4);
+			else
+				solver.setTimeoutOnConflicts(timeout);
+
 			IQueryResult<IInstallableUnit> queryResult = picker.query(QueryUtil.createIUAnyQuery(), null);
 			if (DEBUG_ENCODING) {
 				dependencyHelper = new LexicoHelper<Object, Explanation>(solver, false);