library(tcltk) v. SIGPIPE BUG (?!?)
On Tue, Dec 11, 2012 at 3:14 PM, Cook, Malcolm <MEC at stowers.org> wrote:
Hi R-devel, tcltk devel, and sqldf devel, The transcript below shows how loading the tcl/tk library in under R causes subprocesses to ignore SIGPIPE. I am including the developer of the (wonderful) sqldf package since it requires tcltk and you might like to make this dependence optional to the user (at least until this is fixed in tcltk). Am I mistaken in calling this a 'bug'? Any insights appreciated! Thanks, Malcolm Cook Computational Biology - Stowers Institute for Medical Research
system(intern=TRUE,'yes | head ')
[1] "y" "y" "y" "y" "y" "y" "y" "y" "y" "y"
library(tcltk)
Loading Tcl/Tk interface ... done
system(intern=TRUE,'yes | head ')
### this now does not return to the prompt and Looking at 'top' shows that 'yes' is running until I hit ctrl-c, after which it returns. C-c C-c [1] "y" "y" "y" "y" "y" "y" "y" "y" "y" "y"
sessionInfo()
R version 2.15.1 (2012-06-22) Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit) locale: [1] C attached base packages: [1] tcltk stats graphics grDevices utils datasets methods base
As a workaround specify the "R" engine instead of the "tcl" engine in wihch case gsubfn (which is called by sqldf) won't try to use the tcltk package: options(gsubfn.engine = "R") library(sqldf) -- Statistics & Software Consulting GKX Group, GKX Associates Inc. tel: 1-877-GKX-GROUP email: ggrothendieck at gmail.com