169
const configuredAffinityToResultingAffinity = new Map<number, number>();
170
for (const extensionId of configuredExtensionIds) {
172
>
if (typeof configuredAffinity !== 'number' || configuredAffinity <= 0 || Math.floor(configuredAffinity) !== configuredAffinity) {
173
this._logService.info(`Ignoring configured affinity for '${extensionId}' because the value is not a positive integer.`);
174
continue;
175
}
177
>
if (!group) {
178
>
// The extension is not known or cannot execute for this extension host kind
179
>
continue;
180
>
}
181
>
182
>
const affinity1 = resultingAffinities.get(group);
183
>
if (affinity1) {
184
>
// Affinity for this group is already established
185
>
configuredAffinityToResultingAffinity.set(configuredAffinity, affinity1);
186
>
continue;
187
>
}
188
>
189
>
const affinity2 = configuredAffinityToResultingAffinity.get(configuredAffinity);
190
>
if (affinity2) {
191
// Affinity for this configuration is already established
192
resultingAffinities.set(group, affinity2);
193
continue;
194
}
196
>
if (!isInitialAllocation) {
197
this._logService.info(`Ignoring configured affinity for '${extensionId}' because extension host(s) are already running. Reload window.`);
198
continue;
199
}
201
>
const affinity3 = ++lastAffinity;
202
>
configuredAffinityToResultingAffinity.set(configuredAffinity, affinity3);
203
>
resultingAffinities.set(group, affinity3);
204
>
}
205
}
206