File tree Expand file tree Collapse file tree 1 file changed +30
-6
lines changed
packages/scramjet/packages/runway/src Expand file tree Collapse file tree 1 file changed +30
-6
lines changed Original file line number Diff line number Diff line change @@ -152,9 +152,21 @@ export function basicTest(props: {
152152 } ) ;
153153 } ,
154154 async stop ( ) {
155- return new Promise ( ( resolve ) => {
156- server . close ( ( ) => resolve ( ) ) ;
157- } ) ;
155+ return Promise . race ( [
156+ new Promise < void > ( ( resolve ) => {
157+ // Close all active connections first to prevent hanging
158+ if ( server . closeAllConnections ) {
159+ server . closeAllConnections ( ) ;
160+ }
161+ server . close ( ( ) => resolve ( ) ) ;
162+ } ) ,
163+ new Promise < void > ( ( _ , reject ) => {
164+ setTimeout (
165+ ( ) => reject ( new Error ( "Server stop timed out after 5 seconds" ) ) ,
166+ 5000
167+ ) ;
168+ } ) ,
169+ ] ) ;
158170 } ,
159171 } ;
160172}
@@ -256,9 +268,21 @@ export function serverTest(props: {
256268 } ) ;
257269 } ,
258270 async stop ( ) {
259- return new Promise < void > ( ( resolve ) => {
260- server . close ( ( ) => resolve ( ) ) ;
261- } ) ;
271+ return Promise . race ( [
272+ new Promise < void > ( ( resolve ) => {
273+ // Close all active connections first to prevent hanging
274+ if ( server . closeAllConnections ) {
275+ server . closeAllConnections ( ) ;
276+ }
277+ server . close ( ( ) => resolve ( ) ) ;
278+ } ) ,
279+ new Promise < void > ( ( _ , reject ) => {
280+ setTimeout (
281+ ( ) => reject ( new Error ( "Server stop timed out after 5 seconds" ) ) ,
282+ 5000
283+ ) ;
284+ } ) ,
285+ ] ) ;
262286 } ,
263287 } ;
264288}
You can’t perform that action at this time.
0 commit comments