Skip to content

Commit e4df0e8

Browse files
committed
use linefeeder.flush
1 parent 4178632 commit e4df0e8

File tree

3 files changed

+16
-9
lines changed

3 files changed

+16
-9
lines changed

src/cloud/install/installer.ts

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,9 @@ class CloudInstaller {
4949
connection.on('ready', () => {
5050
log.debug('logged into server');
5151

52-
var stdout = new queue.Queue<ArrayBuffer, void>();
53-
new linefeeder.LineFeeder(stdout).setSyncHandler((line: string) => {
52+
const stdoutRaw = new queue.Queue<ArrayBuffer, void>();
53+
const stdout = new linefeeder.LineFeeder(stdoutRaw);
54+
stdout.setSyncHandler((line: string) => {
5455
log.debug('STDOUT: %1', line);
5556
// Search for the URL anywhere in the line so we will
5657
// continue to work in the face of minor changes
@@ -67,8 +68,9 @@ class CloudInstaller {
6768
}
6869
});
6970

70-
var stderr = new queue.Queue<ArrayBuffer, void>();
71-
new linefeeder.LineFeeder(stderr).setSyncHandler((line: string) => {
71+
const stderrRaw = new queue.Queue<ArrayBuffer, void>();
72+
const stderr = new linefeeder.LineFeeder(stderrRaw);
73+
stderr.setSyncHandler((line: string) => {
7274
log.error('STDERR: %1', line);
7375
});
7476

@@ -81,14 +83,16 @@ class CloudInstaller {
8183
return;
8284
}
8385
stream.on('end', () => {
86+
stdout.flush();
87+
stderr.flush();
8488
connection.end();
8589
R({
8690
message: 'invitation URL not found'
8791
});
8892
}).on('data', (data:Buffer) => {
89-
stdout.handle(arraybuffers.bufferToArrayBuffer(data));
93+
stdoutRaw.handle(arraybuffers.bufferToArrayBuffer(data));
9094
}).stderr.on('data', (data: Buffer) => {
91-
stderr.handle(arraybuffers.bufferToArrayBuffer(data));
95+
stderrRaw.handle(arraybuffers.bufferToArrayBuffer(data));
9296
});
9397
});
9498
}).on('error', (e: Error) => {

src/cloud/social/provider.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -564,19 +564,21 @@ class Connection {
564564
return;
565565
}
566566

567-
var stdout = new queue.Queue<ArrayBuffer, void>();
568-
new linefeeder.LineFeeder(stdout).setSyncHandler((line: string) => {
567+
const stdoutRaw = new queue.Queue<ArrayBuffer, void>();
568+
const stdout = new linefeeder.LineFeeder(stdoutRaw);
569+
stdout.setSyncHandler((line: string) => {
569570
F(line);
570571
});
571572

572573
stream.on('data', (data: Buffer) => {
573-
stdout.handle(arraybuffers.bufferToArrayBuffer(data));
574+
stdoutRaw.handle(arraybuffers.bufferToArrayBuffer(data));
574575
}).stderr.on('data', (data: Buffer) => {
575576
R({
576577
message: 'output received on STDERR: ' + data.toString()
577578
});
578579
}).on('end', () => {
579580
log.debug('%1: exec stream end', this.name_);
581+
stdout.flush();
580582
});
581583
});
582584
});

src/zork/freedom-module.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ function serveConnection(connection: tcp.Connection): void {
148148
connection.onceClosed.then((kind:tcp.SocketCloseKind) => {
149149
log.info('%1: closed (%2)',
150150
connection.connectionId, tcp.SocketCloseKind[kind]);
151+
lineFeeder.flush();
151152
});
152153
}
153154

0 commit comments

Comments
 (0)