Skip to content

Commit d1a21a3

Browse files
committed
doc: desc. conflict_unload handling of modpath change
1 parent 8acb202 commit d1a21a3

File tree

4 files changed

+17
-14
lines changed

4 files changed

+17
-14
lines changed

NEWS.rst

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -116,14 +116,14 @@ Modules 5.5.0 (not yet released)
116116
defined by already loaded modules, conflict declared by loading module
117117
through :mfcmd:`conflict`, :mfcmd:`family` or :mfcmd:`module unload<module>`
118118
commands. :mconfig:`conflict_unload` also handles the unload of a module
119-
that is loaded again but with different variant values.
120-
:mconfig:`conflict_unload` is disabled by default as it changes behaviors of
121-
the :envvar:`automated module handling mode<MODULES_AUTO_HANDLING>`. But
122-
everyone is encouraged to enable this new option to benefit from an highly
123-
automated experience. This option can be changed at installation time with
124-
:instopt:`--enable-conflict-unload`. When :mconfig:`conflict_unload` is
125-
changed with :subcmd:`config` sub-command, it sets the
126-
:envvar:`MODULES_CONFLICT_UNLOAD` environment variable. Both
119+
that is loaded again but with different variant values or from a different
120+
modulepath. :mconfig:`conflict_unload` is disabled by default as it changes
121+
behaviors of the :envvar:`automated module handling
122+
mode<MODULES_AUTO_HANDLING>`. But everyone is encouraged to enable this new
123+
option to benefit from an highly automated experience. This option can be
124+
changed at installation time with :instopt:`--enable-conflict-unload`. When
125+
:mconfig:`conflict_unload` is changed with :subcmd:`config` sub-command, it
126+
sets the :envvar:`MODULES_CONFLICT_UNLOAD` environment variable. Both
127127
:mconfig:`auto_handling` and :mconfig:`conflict_unload` options should be
128128
enabled to activate *Conflict Unload* automated behavior. (fix issue #242)
129129
* When both :mconfig:`auto_handling` and :mconfig:`conflict_unload` options

doc/source/design/conflict-unload.rst

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,8 @@ Conflict Unload mechanism targets the 3 different conflict situations:
7979
* Conflicts declared by loading modules against loaded modules (through
8080
``conflict`` or ``module unload/switch`` modulefile commands)
8181
* Loading module is already loaded but with a different set of variants
82+
* Loading module is already loaded but from a different modulepath than those
83+
asked by current load
8284

8385
Loading modules here apply to asked module and the modules it requires.
8486

@@ -96,8 +98,8 @@ conflicts information to get expected loaded modules in a minimum number of
9698
evaluations.
9799

98100
When loading a module, prior evaluating it, if a conflict is declared against
99-
it (or this module is already loaded with an alternative variant set) by one
100-
or more:
101+
it (or this module is already loaded with an alternative variant set or from
102+
an alternative modulepath than the one asked) by one or more:
101103

102104
* loaded modules, unload this or these modules. This or these unloads may
103105
trigger either DepRe and DepUn mechanisms.

doc/source/module.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4142,7 +4142,8 @@ ENVIRONMENT
41424142

41434143
* Conflict Unload: unload of the *modulefiles* declared as a
41444144
:mfcmd:`conflict` of the loading *modulefile* or if it is the same
4145-
*modulefile* than the one loading but with a different set of variant.
4145+
*modulefile* than the one loading but with a different set of variant or
4146+
coming from a different modulepath.
41464147

41474148
* Requirement Load: load of the *modulefiles* declared as a :mfcmd:`prereq`
41484149
of the loading *modulefile*.

doc/source/modulefile.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1969,9 +1969,9 @@ prior loading the modulefile that express such conflict when defined with
19691969
expressed with :mfcmd:`module unload<module>` (unless dependent modulefiles
19701970
are loaded) or if :mconfig:`auto_handling` and :mconfig:`conflict_unload`
19711971
options are enabled. An error is raised when trying to load a module that is
1972-
already loaded but with a different variant set. If both options are enabled
1973-
the loaded module is automatically unloaded to satisfy the new set of variant
1974-
asked.
1972+
already loaded but with a different variant set or coming from a different
1973+
modulepath. If both options are enabled the loaded module is automatically
1974+
unloaded to satisfy the new set of variant or modulepath asked.
19751975

19761976
It is strongly advised to define dependencies prior environment changes in a
19771977
modulefile. Dependency resolution should be done before any environment change

0 commit comments

Comments
 (0)