pub async fn worker(
	config: Arc<Config>,
	errors: mpsc::Sender<RuntimeError>,
	events: priority::Sender<Event, Priority>,
) -> Result<(), CriticalError> {
	imp_worker(config, errors, events).await
}
Launch the signal event worker.

While you _could_ run several (it won't panic), you **must** only have one (for correctness).
This may be enforced later.

# Examples

Direct usage:

```no_run
use tokio::sync::mpsc;
use async_priority_channel as priority;
use watchexec::sources::signal::worker;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let (ev_s, _) = priority::bounded(1024);
let (er_s, _) = mpsc::channel(64);

worker(Default::default(), er_s, ev_s).await?;
Ok(())
}
```
crates/lib/src/sources/signal.rs