Commit Graph

129 Commits

Author SHA1 Message Date
Chris Aumann f88f1b36c3 Refactor command assembly
Kudos to https://www.reddit.com/user/burntsushi from the /r/rust community!
See: https://www.reddit.com/r/rust/comments/64ic0q/idiomatic_string_processing/
2017-04-10 14:13:27 +02:00
Chris Aumann a395ed84cd Remove useless format!()
This was a hint by `cargo clippy`
2017-04-10 00:20:57 +02:00
Chris Aumann df72aaf977 Use if-else statements instead of boolean match
This was a hint by `cargo clippy`
2017-04-10 00:20:57 +02:00
Chris Aumann 780b54b34e Port --no-shell to Windows 2017-04-10 00:20:57 +02:00
Chris Aumann 5a7ccf759b Adapt spawn() test for Unix 2017-04-10 00:20:27 +02:00
Chris Aumann ee5e93e6af Add support for --no-shell option 2017-04-10 00:19:58 +02:00
Chris Aumann 5b486e2ae6 Remove deprecated comment (before_exec) 2017-04-06 22:54:02 +02:00
Chris Aumann 264ec282d6 Use a tuple to match scenarios 2017-04-02 21:28:00 +02:00
Chris Aumann 4763de3790 Re-add --kill flag for compatibility
--kill translates to --signal SIGKILL
2017-04-02 21:21:30 +02:00
Chris Aumann 627f828b3c Rename wait_process() to signal_process() 2017-04-02 21:21:30 +02:00
Chris Aumann d5da94fcaf Add check for conflicting --signal and --postpone arguments 2017-04-02 21:21:30 +02:00
Chris Aumann c98d0e6cfd Decouple --restart and --signal, so they both make sense
This change takes account of the following four use cases:

1. Make sure the previous run was ended, then run the command again (default)
2. Just send a specified signal to the child, do nothing more (--signal given)
3. Send SIGTERM to the child, wait for it to exit, then run the command again (--restart given)
4. Send a specified signal to the child, wait for it to exit, then run the command again (--restart and --signal given)
2017-04-02 21:21:30 +02:00
Chris Aumann 56ddfcbaee Apply rustfmt-0.8.1 2017-04-02 21:21:30 +02:00
Chris Aumann 3a5ff290d5 Use a more idiomatic way to set --signal 2017-04-02 21:19:53 +02:00
Chris Aumann a2f6b0013f Add windows compatibility 2017-04-02 21:19:53 +02:00
Chris Aumann 0a445c9f76 Move convert_to_libc() method to signal.rs 2017-04-02 21:19:53 +02:00
Chris Aumann 4adde457dd Actually use signal specified in --signal option 2017-04-02 21:19:53 +02:00
Chris Aumann 382981e22d Add more signals to SigSet mask 2017-04-02 21:19:53 +02:00
Chris Aumann eebe966b50 Remove deprecated signal functions 2017-04-02 21:19:53 +02:00
Chris Aumann 24e9b0c1c5 Migrate to nix::sys::signal::Signal 2017-04-02 21:19:52 +02:00
Chris Aumann 68caf04269 First commit to add a generic --signal flag 2017-04-02 21:19:52 +02:00
Chris Aumann f62c3724b2 Use before_exec as process_exec landed in stable 2017-03-24 17:11:24 +01:00
Matt Green 125e7eb7c8 rustfmt & clippy fixes 2017-02-04 16:26:59 -05:00
Matt Green e16a6b3a24 Support watching multiple paths 2017-02-04 16:18:02 -05:00
Matt Green 53c1f39919 Load + handle multiple .gitignore files in project dir 2017-02-04 14:53:27 -05:00
Matt Green b2b0a60ca5 Add -1 option for integration testing, closes #35 2017-01-27 15:27:44 -05:00
Matt Green 0d5de7c4da rustfmt 2017-01-27 13:13:37 -05:00
Matt Green ebcb5976ba Use globset for ignore matching; closes #14 and #23 2017-01-27 13:00:13 -05:00
Matt Green fd2d6e364a Add -k to support sending SIGKILL 2017-01-16 14:18:38 -05:00
Matt Green 6b7351d45b Remove kill/wait tests as process handling is async now 2016-12-20 13:42:39 -05:00
Matt Green dddc1e8886 Fix Windows warnings 2016-12-20 13:25:08 -05:00
Matt Green 09448cd91e Fix reap() hanging when child processes are still running 2016-12-20 13:21:24 -05:00
Matt Green 171132a722 rustfmt & clippy fixes 2016-12-20 12:20:21 -05:00
Matt Green b2c809c87a SIGCHLD handling 2016-12-20 11:44:18 -05:00
Matt Green a925cb356a Fix sending SIGKILL by default when restarting processes 2016-12-19 15:36:59 -05:00
Matt Green 9c65e816da Add -k option to send SIGKILL instead of SIGTERM; closes #31 2016-12-19 11:37:20 -05:00
Matt Green 787c31040c Remask received signal after re-raising it 2016-12-15 09:41:10 -05:00
Matt Green 154c23a5a4 Propagate SIGTSTP/SIGCONT to children 2016-12-14 20:19:58 -05:00
Matt Green 54baf4e384 Add process::spawn function 2016-11-23 12:59:56 -05:00
Matt Green f768721ca3 Remove --watch option, always watch cwd 2016-11-17 08:45:55 -05:00
Matt Green 0e9dafffc8 Unix: pipe read/write handles EINTR 2016-11-16 20:18:46 -05:00
Matt Green 12557d11bf Fix setpgid() racing killpg()/waitpid() in tests 2016-11-16 08:55:15 -05:00
Matt Green e4557e462b Wait for child process, not any child process in group 2016-11-15 22:43:51 -05:00
Matt Green 5b2858e6d6 Die quietly if exec() fails 2016-11-15 17:04:15 -05:00
Matt Green 3bf3086a29 Replace before_exec with fork/exec, removing Rust nightly requirement 2016-11-15 16:55:29 -05:00
Matt Green bdce629782 Drop size optimizations that require nightly builds 2016-11-13 18:34:23 -05:00
Matt Green 0ef334e2a1 Size optimizations 2016-11-10 19:43:13 -05:00
Matt Green 68960fec9a Style fixes 2016-11-09 17:48:38 -05:00
Matt Green 48b0def80d Fix warnings in tests 2016-11-09 17:37:35 -05:00
Matt Green 2d2a8cb079 rustfmt 2016-11-09 17:25:52 -05:00