File tree 1 file changed +18
-4
lines changed
1 file changed +18
-4
lines changed Original file line number Diff line number Diff line change @@ -35,6 +35,7 @@ export class Cp {
35
35
command . push ( srcPath ) ;
36
36
const writerStream = fs . createWriteStream ( tmpFileName ) ;
37
37
const errStream = new WritableStreamBuffer ( ) ;
38
+ let resolved = false ;
38
39
return new Promise < void > ( ( resolve , reject ) => {
39
40
this . execInstance
40
41
. exec (
@@ -60,15 +61,21 @@ export class Cp {
60
61
file : tmpFileName ,
61
62
cwd : tgtPath ,
62
63
} ) ;
63
- resolve ( ) ;
64
+ if ( ! resolved ) {
65
+ resolved = true ;
66
+ resolve ( ) ;
67
+ }
64
68
} catch ( e ) {
65
69
reject ( e ) ;
66
70
}
67
71
} ,
68
72
)
69
73
. then ( ( conn ) => {
70
74
conn . on ( 'close' , ( ) => {
71
- resolve ( ) ;
75
+ if ( ! resolved ) {
76
+ resolved = true ;
77
+ resolve ( ) ;
78
+ }
72
79
} ) ;
73
80
} )
74
81
. catch ( reject ) ;
@@ -96,6 +103,7 @@ export class Cp {
96
103
await tar . c ( { file : tmpFileName , cwd } , [ srcPath ] ) ;
97
104
const readStream = fs . createReadStream ( tmpFileName ) ;
98
105
const errStream = new WritableStreamBuffer ( ) ;
106
+ let resolved = false ;
99
107
return new Promise < void > ( ( resolve , reject ) => {
100
108
this . execInstance
101
109
. exec (
@@ -116,13 +124,19 @@ export class Cp {
116
124
) ,
117
125
) ;
118
126
} else {
119
- resolve ( ) ;
127
+ if ( ! resolved ) {
128
+ resolved = true ;
129
+ resolve ( ) ;
130
+ }
120
131
}
121
132
} ,
122
133
)
123
134
. then ( ( conn ) => {
124
135
conn . on ( 'close' , ( ) => {
125
- resolve ( ) ;
136
+ if ( ! resolved ) {
137
+ resolved = true ;
138
+ resolve ( ) ;
139
+ }
126
140
} ) ;
127
141
} )
128
142
. catch ( reject ) ;
You can’t perform that action at this time.
0 commit comments