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