Skip to content

Commit c606f50

Browse files
fix(shell): isolate execution context for exec/cos commands (#996)
* fix(shell): isolate execution context for exec/cos commands * docs: add details to changelog * fix: updated the ExecuteCOS method --------- Co-authored-by: isc-dchui <dchui@intersystems.com>
1 parent 9f3340b commit c606f50

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.10.6] - Unreleased
9+
10+
### Fixed
11+
- #996: Ensure COS commands execute in exec under a dedicated, isolated context
12+
813
## [0.10.5] - 2026-01-15
914

1015
### Added

src/cls/IPM/Main.cls

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -983,8 +983,7 @@ ClassMethod ShellInternal(
983983
} elseif (tCommandInfo = "load") {
984984
do ..Load(.tCommandInfo)
985985
} elseif (tCommandInfo = "exec") {
986-
write !
987-
xecute tCommandInfo("parameters","expression")
986+
do ..ExecuteCOS(.tCommandInfo)
988987
} elseif (tCommandInfo = "install") {
989988
do ..Install(.tCommandInfo)
990989
} elseif (tCommandInfo = "reinstall") {
@@ -2218,6 +2217,13 @@ ClassMethod Load(
22182217
$$$ThrowOnError(log.Finalize($$$OK, devMode))
22192218
}
22202219

2220+
ClassMethod ExecuteCOS(ByRef commandInfo)
2221+
{
2222+
new $namespace
2223+
write !
2224+
xecute commandInfo("parameters","expression")
2225+
}
2226+
22212227
ClassMethod LoadInternal(
22222228
ByRef pCommandInfo,
22232229
pLog As %IPM.General.AbstractHistory) [ Internal ]

0 commit comments

Comments
 (0)