@@ -24,6 +24,9 @@ def __init__(
24
24
jit_options : Optional [Sequence [str ]] = None ,
25
25
config_file : Optional [Path ] = None ,
26
26
global_config_file : Optional [Path ] = None ,
27
+ assembly_dir : Optional [str ] = None ,
28
+ config_dir : Optional [str ] = None ,
29
+ set_signal_chaining : bool = False ,
27
30
):
28
31
self ._assemblies : Dict [Path , Any ] = {}
29
32
@@ -33,6 +36,9 @@ def __init__(
33
36
jit_options = jit_options ,
34
37
global_config_file = optional_path_as_string (global_config_file ),
35
38
libmono = libmono ,
39
+ assembly_dir = assembly_dir ,
40
+ config_dir = config_dir ,
41
+ set_signal_chaining = set_signal_chaining ,
36
42
)
37
43
38
44
if domain is None :
@@ -121,11 +127,17 @@ def initialize(
121
127
jit_options : Optional [Sequence [str ]] = None ,
122
128
config_file : Optional [str ] = None ,
123
129
global_config_file : Optional [str ] = None ,
130
+ assembly_dir : Optional [str ] = None ,
131
+ config_dir : Optional [str ] = None ,
132
+ set_signal_chaining : bool = False ,
124
133
) -> str :
125
134
global _MONO , _ROOT_DOMAIN
126
135
if _MONO is None :
127
136
_MONO = load_mono (libmono )
128
137
138
+ if assembly_dir is not None and config_dir is not None :
139
+ _MONO .mono_set_dirs (assembly_dir , config_dir )
140
+
129
141
# Load in global config (i.e /etc/mono/config)
130
142
global_encoded = global_config_file or ffi .NULL
131
143
_MONO .mono_config_parse (global_encoded )
@@ -143,6 +155,9 @@ def initialize(
143
155
else :
144
156
options = []
145
157
158
+ if set_signal_chaining :
159
+ _MONO .mono_set_signal_chaining (True )
160
+
146
161
if debug :
147
162
_MONO .mono_debug_init (_MONO .MONO_DEBUG_FORMAT_MONO )
148
163
0 commit comments