11cb0ef41Sopenharmony_ci'use strict'; 21cb0ef41Sopenharmony_ci 31cb0ef41Sopenharmony_ciconst common = require('../common'); 41cb0ef41Sopenharmony_ciconst domain = require('domain'); 51cb0ef41Sopenharmony_ci 61cb0ef41Sopenharmony_cifunction test() { 71cb0ef41Sopenharmony_ci const d = domain.create(); 81cb0ef41Sopenharmony_ci const d2 = domain.create(); 91cb0ef41Sopenharmony_ci 101cb0ef41Sopenharmony_ci d.on('error', function errorHandler() { 111cb0ef41Sopenharmony_ci }); 121cb0ef41Sopenharmony_ci 131cb0ef41Sopenharmony_ci d.run(() => { 141cb0ef41Sopenharmony_ci d2.run(() => { 151cb0ef41Sopenharmony_ci const fs = require('fs'); 161cb0ef41Sopenharmony_ci fs.exists('/non/existing/file', function onExists() { 171cb0ef41Sopenharmony_ci throw new Error('boom!'); 181cb0ef41Sopenharmony_ci }); 191cb0ef41Sopenharmony_ci }); 201cb0ef41Sopenharmony_ci }); 211cb0ef41Sopenharmony_ci} 221cb0ef41Sopenharmony_ci 231cb0ef41Sopenharmony_ciif (process.argv[2] === 'child') { 241cb0ef41Sopenharmony_ci test(); 251cb0ef41Sopenharmony_ci} else { 261cb0ef41Sopenharmony_ci common.childShouldThrowAndAbort(); 271cb0ef41Sopenharmony_ci} 28