[Rd] Error in close.connection(p) : ignoring SIGPIPE signal
Andreas Kersting
r-deve| @end|ng |rom @ker@t|ng@de
Fri Dec 6 08:04:53 CET 2019
Hi Benjamin,
you cannot pipe to echo, since it does not read from stdin.
echo just echos is first arg, i.e. echo /dev/stdin > /dev/null will echo the string "/dev/stdin"to /dev/stdout, which is redirected to /dev/null.
Try
p <- pipe("cat > /dev/null", open = "w")
instead.
Regards,
Andreas
2019-12-06 02:46 GMT+01:00 Benjamin Tyner<btyner using gmail.com>:
> Not sure if this is a bug, so posting here first. If I run:
> cnt <- 0L
> while (TRUE) {
> cnt <- cnt + 1L
> p <- pipe("echo /dev/stdin > /dev/null", open = "w")
> writeLines("foobar", p)
> tryCatch(close(p), error = function(e) { print(cnt); stop(e)})
> }
>
> then once cnt gets to around 650, it fails with:
>
> [1] 654
> Error in close.connection(p) : ignoring SIGPIPE signal
>
> Should I not be using pipe() in this way? Here is my sessionInfo()
>
> R version 3.6.0 (2019-04-26)
> Platform: x86_64-pc-linux-gnu (64-bit)
> Running under: Ubuntu 18.04.3 LTS
>
> Matrix products: default
> BLAS: /home/btyner/R360/lib64/R/lib/libRblas.so
> LAPACK: /home/btyner/R360/lib64/R/lib/libRlapack.so
>
> locale:
> [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
> [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
> [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
> [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
> [9] LC_ADDRESS=C LC_TELEPHONE=C
> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
>
> attached base packages:
> [1] stats graphics grDevices utils datasets methods base
>
> loaded via a namespace (and not attached):
> [1] compiler_3.6.0
>
> Regards,
> Ben
>
> ______________________________________________
> R-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
More information about the R-devel
mailing list