libpipeline:master

Last commit made on 2020-11-25
Get this branch:
git clone -b master https://git.launchpad.net/libpipeline

Branch merges

Branch information

Name:
master
Repository:
lp:libpipeline

Recent commits

3bccf47... by Colin Watson

Move to GitLab

5498dd5... by Colin Watson

Version: 1.5.3

* lib/Makefile.am (libpipeline_la_LDFLAGS): Bump -version-info to 6:3:5.

1be57f9... by Colin Watson

Port tests to the modern Check API

Fixes Savannah bug #58883.

* configure.ac: Test for check >= 0.9.10.
* tests/argstr.c, tests/basic.c, tests/exec.c, tests/inspect.c,
tests/pump.c, tests/read.c, tests/redirect.c: Replace uses of
fail_unless and fail_if with appropriate ck_assert_* calls. In most
cases these now use more specific equality etc. tests rather than just
passing arbitrary predicates.
* README: Document updated dependency.
* NEWS: Document this.

d668df8... by Colin Watson

Fix handling of read/write errors

safe_read and safe_write return size_t and define SAFE_READ_ERROR and
SAFE_WRITE_ERROR as error return values. We had previously been
assigning their result to a signed value. As a result, whether
passthrough, pipeline_pump, and get_block would detect read/write errors
was implementation-defined.

* lib/pipeline.c (passthrough, get_block): Assign safe_read return value
to a size_t rather than a signed integer type, and check for
SAFE_READ_ERROR rather than negative values.
(pipeline_pump): Assign safe_write return value to a size_t rather than
an ssize_t, and check for SAFE_WRITE_ERROR rather than negative values.
* NEWS: Document this.

2d1f45e... by Colin Watson

Version: 1.5.2

* lib/Makefile.am (libpipeline_la_LDFLAGS): Bump -version-info to 6:2:5.
* README: Update copyright dates.

fff7538... by Colin Watson

* NEWS: Document pipeline_start doc change

e8b81ae... by Colin Watson

pipecmd_exec: Flush stdio in PIPECMD_FUNCTION case

This fixes a regression in eceb4fc9c1a800739f3876a5c9538376adc77876
where we could lose some output from functions that write to standard
output but don't explicitly flush.

* lib/pipeline.c (pipecmd_exec): Flush output streams before exiting in
the PIPECMD_FUNCTION case.

f42a447... by Colin Watson

pipeline_start: Document that standard FDs must be open

Fixes Ubuntu bug #992271.

* lib/pipeline.h (pipeline_start): Document that FDs 0, 1, and 2 must be
open before calling this function.
* man/libpipeline.3 (pipeline_start): Likewise.

eceb4fc... by Colin Watson

Use _exit rather than exit in pipecmd_exec

This avoids bugs such as functions registered using atexit being called
multiple times.

* lib/pipeline.c (pipecmd_exec): Call _exit rather than exit.
* NEWS: Document this.

cc76409... by Colin Watson

Enable many more GCC warnings

* bootstrap.conf (gnulib_modules): Add manywarnings.<Paste>
* configure.ac: Add gl_MANYWARN_ALL_GCC, with some refinements to disable
-Wsystem-headers, -Wmissing-field-initializers, and -Winline.