Ludovic Courtès 85a2b58987
zlib: Fix memory leak due to revealed ports not being GC'd.
Fixes <https://bugs.gnu.org/28784>.

This mostly reverts 81a0f1cdf12e7bcc34c1203f034a323fa8f52cf5, which
introduced a regression: revealed ports are *never* GC'd (contrary to
what Guile's manual suggests).

In addition to the revert, 'close-procedure' now explicitly swallows
EBADF errors when 'close-port' is called.

* guix/zlib.scm (close-procedure): New procedure.
(make-gzip-input-port)[gzfile]: Use 'fileno' instead of 'port->fdes'.
Use 'close-procedure' instead of 'gzclose'.
(make-gzip-output-port): Likewise.
* tests/zlib.scm ("compression/decompression pipe"): Use 'port-closed?'
to determine whether PARENT has been closed.
2017-10-11 15:20:50 +02:00
..
2017-10-09 23:17:49 +02:00
2017-07-21 17:03:24 +02:00
2017-01-28 18:55:20 +01:00
2017-03-18 00:38:41 +01:00
2015-01-26 21:58:12 +01:00
2017-05-03 16:16:17 +02:00
2017-09-22 08:04:32 -04:00
2017-05-03 16:16:17 +02:00
2017-04-17 23:31:28 +02:00
2015-01-11 23:50:01 +01:00
2017-10-07 17:08:32 +02:00
2017-05-28 23:13:39 +02:00