@vpalmisano/webrtcperf 4.8.8 → 4.8.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vpalmisano/webrtcperf",
3
- "version": "4.8.8",
3
+ "version": "4.8.9",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/vpalmisano/webrtcperf.git"
@@ -54,7 +54,7 @@
54
54
  "@google/genai": "^1.52.0",
55
55
  "@modelcontextprotocol/sdk": "^1.29.0",
56
56
  "@puppeteer/browsers": "^3.0.4",
57
- "@vpalmisano/throttler": "0.0.14",
57
+ "@vpalmisano/throttler": "0.0.15",
58
58
  "@vpalmisano/webrtcperf-js": "^1.4.3",
59
59
  "axios": "^1.15.2",
60
60
  "chalk-template": "^1.1.2",
package/src/app.ts CHANGED
@@ -13,6 +13,7 @@ import {
13
13
  getDockerLogsPath,
14
14
  logger,
15
15
  registerExitHandler,
16
+ handleExitSignals,
16
17
  resolvePackagePath,
17
18
  runExitHandlersNow,
18
19
  sleep,
@@ -237,6 +238,7 @@ export class Application extends EventEmitter {
237
238
  */
238
239
  async function main(): Promise<void> {
239
240
  showHelpOrVersion()
241
+ handleExitSignals()
240
242
 
241
243
  process.argv = process.argv.slice(2)
242
244
 
package/src/utils.ts CHANGED
@@ -515,7 +515,10 @@ let runExitHandlersPromise: Promise<void> | null = null
515
515
  */
516
516
  export async function runExitHandlersNow(signal?: string): Promise<void> {
517
517
  if (!runExitHandlersPromise) {
518
+ log.debug(`runExitHandlersNow signal: ${signal}`)
518
519
  runExitHandlersPromise = runExitHandlers(signal)
520
+ } else {
521
+ log.debug(`runExitHandlersNow signal: ${signal} already running`)
519
522
  }
520
523
  await runExitHandlersPromise
521
524
  stopTimers()
@@ -538,18 +541,21 @@ const SIGNALS = [
538
541
  'SIGUSR2',
539
542
  'SIGTERM',
540
543
  ]
541
- process.setMaxListeners(process.getMaxListeners() + SIGNALS.length)
542
- SIGNALS.forEach(event =>
543
- process.once(event, async signal => {
544
- if (signal instanceof Error) {
545
- log.error(`Exit on error: ${signal.stack || signal.message}`)
546
- } else {
547
- log.debug(`Exit on signal: ${signal}`)
548
- }
549
- await runExitHandlersNow(signal)
550
- process.exit(0)
551
- }),
552
- )
544
+
545
+ export function handleExitSignals(): void {
546
+ process.setMaxListeners(process.getMaxListeners() + SIGNALS.length)
547
+ SIGNALS.forEach(event =>
548
+ process.on(event, async signal => {
549
+ if (signal instanceof Error) {
550
+ log.error(`Exit on error: ${signal.stack || signal.message}`)
551
+ } else {
552
+ log.debug(`Exit on signal: ${signal}`)
553
+ }
554
+ await runExitHandlersNow(signal)
555
+ process.exit(0)
556
+ }),
557
+ )
558
+ }
553
559
 
554
560
  /**
555
561
  * Downloads the configured chrome executable if it doesn't exists into the