|  | 
| 1 | 1 | // Copyright 2023-Present Datadog, Inc. https://www.datadoghq.com/ | 
| 2 | 2 | // SPDX-License-Identifier: Apache-2.0 | 
| 3 |  | -use crate::shared::constants; | 
|  | 3 | +use crate::{default_signals, shared::constants, signal_from_signum}; | 
| 4 | 4 | use ddcommon::Endpoint; | 
| 5 | 5 | use serde::{Deserialize, Serialize}; | 
| 6 | 6 | 
 | 
| @@ -90,15 +90,22 @@ impl CrashtrackerConfiguration { | 
| 90 | 90 |         } else { | 
| 91 | 91 |             timeout_ms | 
| 92 | 92 |         }; | 
| 93 |  | -        anyhow::ensure!(!signals.is_empty(), "Expect to monitor at least one signal"); | 
| 94 |  | -        // Ensure we don't have double elements in the signals list. | 
| 95 |  | -        let before_len = signals.len(); | 
| 96 |  | -        signals.sort(); | 
| 97 |  | -        signals.dedup(); | 
| 98 |  | -        anyhow::ensure!( | 
| 99 |  | -            before_len == signals.len(), | 
| 100 |  | -            "Signals contained duplicate elements" | 
| 101 |  | -        ); | 
|  | 93 | +        if signals.is_empty() { | 
|  | 94 | +            signals = default_signals(); | 
|  | 95 | +        } else { | 
|  | 96 | +            // Ensure we don't have double elements in the signals list. | 
|  | 97 | +            let before_len = signals.len(); | 
|  | 98 | +            signals.sort(); | 
|  | 99 | +            signals.dedup(); | 
|  | 100 | +            anyhow::ensure!( | 
|  | 101 | +                before_len == signals.len(), | 
|  | 102 | +                "Signals contained duplicate elements" | 
|  | 103 | +            ); | 
|  | 104 | +            // Ensure that all signal values translate to a valid signum | 
|  | 105 | +            signals | 
|  | 106 | +                .iter() | 
|  | 107 | +                .try_for_each(|x| signal_from_signum(*x).map(|_| ()))?; | 
|  | 108 | +        } | 
| 102 | 109 | 
 | 
| 103 | 110 |         // Note:  don't check the receiver socket upfront, since a configuration can be interned | 
| 104 | 111 |         // before the receiver is started when using an async-receiver. | 
|  | 
0 commit comments