2017-04-11 23:43 GMT+03:00 Bram Moolenaar <[email protected]>:
>
> Martin Gammelsæter wrote:
>
>> I'm not sure whether this is intended or not, but it seems like there
>> currently is no way of sending SIGINT to a job through the jobs api
>> without also closing the channel.
>>
>> To reproduce:
>>
>> ```
>> let job = job_start("bash", {"mode": "raw"})
>> call job_stop(job, "int")
>> call ch_sendraw(job_getchannel(job), "ls\n")
>> ```
>> Errors with `E906: not an open channel`
>>
>> Vim version 8.0.329
>
> Currently we only check for "hup". We should probably do it the other
> way around, only assume a job gets killed by "term" and "kill".

SIGTERM may be ignored. Also provoke doing something (including
writing to the channel) before exiting. I do not know how second
variant is going to be handled, but first definitely implies that
`term` needs not close a channel.

And I would rather go explicit: *no* signals close the channel at all,
channel should only be closed explicitly or when corresponding file
descriptor is closed by the child (or by its death).

---

BTW, I found in `:h job_stop()` “The status of the job isn't checked,
the operation will even be done when Vim thinks the job isn't
running.” Does this mean that Vim will kill random process which
happened to take former jobs PID if job happened to die and be
collected (as opposed to leaving a zombie) in this case?

>
> --
> Q: Why do ducks have flat feet?
> A: To stamp out forest fires.
>
> Q: Why do elephants have flat feet?
> A: To stamp out flaming ducks.
>
> /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\
> /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
> \\\ an exciting new programming language -- http://www.Zimbu.org ///
> \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
>
> —
> You are receiving this because you are subscribed to this thread.
> Reply to this email directly, view it on GitHub
>
> --
> --
> You received this message from the "vim_dev" maillist.
> Do not top-post! Type your reply below the text you are replying to.
> For more information, visit http://www.vim.org/maillist.php
>
> ---
> You received this message because you are subscribed to the Google Groups
> "vim_dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui