Commit Graph

12 Commits

Author SHA1 Message Date
Stephen Weatherford 5d5f8224d2 provisioner/local-exec: allow user to specify interpreter 2017-08-22 10:16:36 -07:00
James Bardin ff2936bb3f Fix cancellation when spawning a subprocess
If the shell spawns a subprocess which doesn't close the output file
descriptors, the exec.Cmd will block on Wait() (see
golang.org/issue/18874). Use an os.Pipe to provide the command with a
real file descriptor so the exec package doesn't need to do the copy
manually. This in turn may block our own reading goroutine, but we can
select on that and leave it for cleanup later.
2017-02-01 12:01:29 -05:00
James Bardin e0325d9b8f fix race with multiple calls to cmd.Wait()
There was still a race around the local-exec Command, where we were
calling Wait in 2 places which you can't do.
2017-01-31 18:07:26 -05:00
Mitchell Hashimoto 3776d31d69
provisioners/local-exec: remove data race by setting err only once 2017-01-30 10:21:05 -08:00
Mitchell Hashimoto 0fb87cd96b
provisioners/local-exec: stoppable
This modifies local-exec to be stoppable with the new Stop API call that
provisioners can listen to.
2017-01-26 15:03:28 -08:00
Mitchell Hashimoto c5b784c33f
provisioners/local-exec: switch to helper/schema 2017-01-26 15:03:28 -08:00
Mitchell Hashimoto 0808236c6e provisioners/local-exec: output the output 2014-10-05 23:05:49 -07:00
Mitchell Hashimoto e5868ebdd9 provisioners/*: new interface 2014-10-04 16:29:33 -07:00
Mitchell Hashimoto c452579512 provisioners/*: compiling, tests passing 2014-09-16 17:08:27 -07:00
Mitchell Hashimoto 8720d2465e builtin/provisioners/*: new API 2014-07-22 10:38:39 -07:00
Armon Dadgar 6ace8e12e5 provisioner/local-exec: Use interpolated values 2014-07-10 11:38:57 -07:00
Armon Dadgar 9c49642b37 provisioner/local-exec: First pass 2014-07-10 11:38:56 -07:00