Files
neovim/runtime
Justin M. Keyes 58318af718 jobwait(): fix race if job exits before waiting on it
Problem:  If a job exits while waiting on another job, the on_exit
          handler is queued but f_jobwait() skips it.
Solution: Always do process_wait(), so that handlers are run during
          f_jobwait().

fix #8302

Test case:
    $ BUSTED_ARGS="--repeat=2000 --no-keep-going" TEST_FILE=test/functional/core/job_spec.lua TEST_FILTER=waiting make functionaltest

Failure example (macOS CI):
    FAILED  test/functional/core/job_spec.lua: jobs jobwait will run callbacks while waiting
    test/functional/core/job_spec.lua:606: Expected objects to be the same.
    Passed in:
    (table: 0x1be77c80) {
      [1] = 'notification'
      [2] = 'wait'
     *[3] = {
       *[1] = 3 } }
    Expected:
    (table: 0x1be77d10) {
      [1] = 'notification'
      [2] = 'wait'
     *[3] = {
       *[1] = 4 } }
    stack traceback:
      test/functional/core/job_spec.lua:606: in function <test/functional/core/job_spec.lua:583
2019-09-03 16:14:29 +02:00
..
2019-08-02 16:20:23 +02:00
2018-10-28 14:18:21 +01:00
2017-11-07 01:16:42 +01:00
2014-12-19 15:28:49 -05:00
2018-01-15 23:58:52 +01:00
2019-08-02 16:20:22 +02:00
2019-05-09 23:32:57 +02:00
2019-07-29 20:50:07 +02:00
2019-01-04 02:17:23 +01:00
2019-08-02 16:20:22 +02:00
2019-07-29 20:50:07 +02:00
2019-07-29 20:50:07 +02:00
2017-01-31 02:02:09 +01:00
2014-07-29 02:12:31 +00:00
2019-07-29 20:50:07 +02:00
2019-08-02 16:20:22 +02:00