Skip to content
This repository was archived by the owner on Feb 2, 2021. It is now read-only.

Added fibers in log fiters to enable futures #827

Merged
merged 1 commit into from
Oct 17, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion mobile/android/logcat-helper.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import byline = require("byline");
import {DeviceAndroidDebugBridge} from "./device-android-debug-bridge";
import * as fiberBootstrap from "../../fiber-bootstrap";

export class LogcatHelper implements Mobile.ILogcatHelper {
private mapDeviceToLoggingStarted: IDictionary<boolean>;
Expand Down Expand Up @@ -40,7 +41,9 @@ export class LogcatHelper implements Mobile.ILogcatHelper {

lineStream.on('data', (line: NodeBuffer) => {
let lineText = line.toString();
this.$deviceLogProvider.logData(lineText, this.$devicePlatformsConstants.Android, deviceIdentifier);
fiberBootstrap.run(() =>
this.$deviceLogProvider.logData(lineText, this.$devicePlatformsConstants.Android, deviceIdentifier)
);
});

this.$processService.attachToProcessExitSignals(this, adbLogcat.kill);
Expand Down
5 changes: 4 additions & 1 deletion mobile/ios/device/ios-core.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import * as string_decoder from "string_decoder";
import * as stream from "stream";
import * as assert from "assert";
import {EOL} from "os";
import * as fiberBootstrap from "../../../fiber-bootstrap";

export class CoreTypes {
public static pointerSize = ref.types.size_t.size;
Expand Down Expand Up @@ -1117,7 +1118,9 @@ class GDBStandardOutputAdapter extends stream.Transform {
}

if (this.$deviceLogProvider) {
this.$deviceLogProvider.logData(result, this.$devicePlatformsConstants.iOS, this.deviceIdentifier);
fiberBootstrap.run(() =>
this.$deviceLogProvider.logData(result, this.$devicePlatformsConstants.iOS, this.deviceIdentifier)
);
}

done(null, result);
Expand Down
5 changes: 4 additions & 1 deletion mobile/ios/device/ios-proxy-services.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import * as iOSCore from "./ios-core";
import * as helpers from "../../../helpers";
import * as plistlib from "plistlib";
import Future = require("fibers/future");
import * as fiberBootstrap from "../../../fiber-bootstrap";

export class MobileServices {
public static APPLE_FILE_CONNECTION: string = "com.apple.afc";
Expand Down Expand Up @@ -497,7 +498,9 @@ export class IOSSyslog {

public read(): void {
let printData = (data: string) => {
this.$deviceLogProvider.logData(data, this.$devicePlatformsConstants.iOS, this.device.deviceInfo.identifier);
fiberBootstrap.run(() =>
this.$deviceLogProvider.logData(data, this.$devicePlatformsConstants.iOS, this.device.deviceInfo.identifier)
);
};
this.plistService.readSystemLog(printData);
}
Expand Down
7 changes: 6 additions & 1 deletion mobile/ios/simulator/ios-simulator-log-provider.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { ChildProcess } from "child_process";
import * as fiberBootstrap from "../../../fiber-bootstrap";

export class IOSSimulatorLogProvider implements Mobile.IiOSSimulatorLogProvider {
private isStarted: boolean;
Expand All @@ -12,7 +13,11 @@ export class IOSSimulatorLogProvider implements Mobile.IiOSSimulatorLogProvider
if (!this.isStarted) {
let deviceLogChildProcess: ChildProcess = this.$iOSSimResolver.iOSSim.getDeviceLogProcess(deviceIdentifier);

let action = (data: NodeBuffer | string) => this.$deviceLogProvider.logData(data.toString(), this.$devicePlatformsConstants.iOS, deviceIdentifier);
let action = (data: NodeBuffer | string) => {
fiberBootstrap.run(() =>
this.$deviceLogProvider.logData(data.toString(), this.$devicePlatformsConstants.iOS, deviceIdentifier)
);
};

if (deviceLogChildProcess.stdout) {
deviceLogChildProcess.stdout.on("data", action);
Expand Down