@@ -24,6 +24,9 @@ def __init__(
2424 jit_options : Optional [Sequence [str ]] = None ,
2525 config_file : Optional [Path ] = None ,
2626 global_config_file : Optional [Path ] = None ,
27+ assembly_dir : Optional [str ] = None ,
28+ config_dir : Optional [str ] = None ,
29+ set_signal_chaining : bool = False ,
2730 ):
2831 self ._assemblies : Dict [Path , Any ] = {}
2932
@@ -33,6 +36,9 @@ def __init__(
3336 jit_options = jit_options ,
3437 global_config_file = optional_path_as_string (global_config_file ),
3538 libmono = libmono ,
39+ assembly_dir = assembly_dir ,
40+ config_dir = config_dir ,
41+ set_signal_chaining = set_signal_chaining ,
3642 )
3743
3844 if domain is None :
@@ -121,11 +127,17 @@ def initialize(
121127 jit_options : Optional [Sequence [str ]] = None ,
122128 config_file : Optional [str ] = None ,
123129 global_config_file : Optional [str ] = None ,
130+ assembly_dir : Optional [str ] = None ,
131+ config_dir : Optional [str ] = None ,
132+ set_signal_chaining : bool = False ,
124133) -> str :
125134 global _MONO , _ROOT_DOMAIN
126135 if _MONO is None :
127136 _MONO = load_mono (libmono )
128137
138+ if assembly_dir is not None and config_dir is not None :
139+ _MONO .mono_set_dirs (assembly_dir , config_dir )
140+
129141 # Load in global config (i.e /etc/mono/config)
130142 global_encoded = global_config_file or ffi .NULL
131143 _MONO .mono_config_parse (global_encoded )
@@ -143,6 +155,9 @@ def initialize(
143155 else :
144156 options = []
145157
158+ if set_signal_chaining :
159+ _MONO .mono_set_signal_chaining (True )
160+
146161 if debug :
147162 _MONO .mono_debug_init (_MONO .MONO_DEBUG_FORMAT_MONO )
148163
0 commit comments