@@ -24,6 +24,8 @@ type PyDumpTracebackThreadsFn = unsafe extern "C" fn(
2424static mut DUMP_TRACEBACK_FN : Option < PyDumpTracebackThreadsFn > = None ;
2525static DUMP_TRACEBACK_INIT : std:: sync:: Once = std:: sync:: Once :: new ( ) ;
2626
27+ // We define these raw system calls here to be used within signal handler context.
28+ // These direct C functions are preferred over going through Rust wrappers
2729extern "C" {
2830 fn pipe ( pipefd : * mut [ c_int ; 2 ] ) -> c_int ;
2931 fn read ( fd : c_int , buf : * mut c_void , count : usize ) -> isize ;
@@ -245,6 +247,8 @@ pub fn crashtracker_init<'py>(
245247 mut config : PyRefMut < ' py , CrashtrackerConfigurationPy > ,
246248 mut receiver_config : PyRefMut < ' py , CrashtrackerReceiverConfigPy > ,
247249 mut metadata : PyRefMut < ' py , CrashtrackerMetadataPy > ,
250+ // TODO: Add this back in post Code Freeze (need to update config registry)
251+ // emit_runtime_stacks: bool,
248252) -> anyhow:: Result < ( ) > {
249253 INIT . call_once ( || {
250254 let ( config_opt, receiver_config_opt, metadata_opt) = (
@@ -256,8 +260,8 @@ pub fn crashtracker_init<'py>(
256260 if let ( Some ( config) , Some ( receiver_config) , Some ( metadata) ) =
257261 ( config_opt, receiver_config_opt, metadata_opt)
258262 {
259- let runtime_stacktrace_enabled = std:: env:: var ( "DD_CRASHTRACKER_EMIT_RUNTIME_STACKS " ) . unwrap_or_default ( ) ;
260- if runtime_stacktrace_enabled == "true" || runtime_stacktrace_enabled == "1" {
263+ let emit_runtime_stacks = std:: env:: var ( "DD_CRASHTRACKING_EMIT_RUNTIME_STACKS " ) . unwrap_or ( "false" . to_string ( ) ) ;
264+ if emit_runtime_stacks {
261265 unsafe {
262266 init_dump_traceback_fn ( ) ;
263267 }
0 commit comments