File tree 2 files changed +17
-2
lines changed
2 files changed +17
-2
lines changed Original file line number Diff line number Diff line change 9
9
* Deprecate ` Deprecation.calcInterp ` since it was never actually emitted as a
10
10
deprecation.
11
11
12
+ ### Embedded Sass
13
+
14
+ * Fix a rare race condition where the embedded compiler could freeze when a
15
+ protocol error was immediately followed by another request.
16
+
12
17
## 1.68.0
13
18
14
19
* Fix the source spans associated with the ` abs-percent ` deprecation.
Original file line number Diff line number Diff line change @@ -237,7 +237,17 @@ final class Dispatcher {
237
237
_send (OutboundMessage ()..logEvent = event);
238
238
239
239
/// Sends [error] to the host.
240
- void sendError (ProtocolError error) =>
240
+ ///
241
+ /// This is used during compilation by other classes like host callable.
242
+ /// Therefore it must set _requestError = true to prevent sending a CompileFailure after
243
+ /// sending a ProtocolError.
244
+ void sendError (ProtocolError error) {
245
+ _sendError (error);
246
+ _requestError = true ;
247
+ }
248
+
249
+ /// Sends [error] to the host.
250
+ void _sendError (ProtocolError error) =>
241
251
_send (OutboundMessage ()..error = error);
242
252
243
253
InboundMessage_CanonicalizeResponse sendCanonicalizeRequest (
@@ -323,7 +333,7 @@ final class Dispatcher {
323
333
/// The [messageId] indicate the IDs of the message being responded to, if
324
334
/// available.
325
335
void _handleError (Object error, StackTrace stackTrace, {int ? messageId}) {
326
- sendError (handleError (error, stackTrace, messageId: messageId));
336
+ _sendError (handleError (error, stackTrace, messageId: messageId));
327
337
}
328
338
329
339
/// Sends [message] to the host with the given [wireId] .
You can’t perform that action at this time.
0 commit comments