# HG changeset patch # User Paul Boddie # Date 1717089966 -7200 # Node ID 29bc0785aace922b323c2a492f7e4fc9b64541eb # Parent 415bc90de9a2332bc31299b563a0c11019dd41e3 Propagate flags when opening pipes to allow for their later testing. diff -r 415bc90de9a2 -r 29bc0785aace libfsclient/include/fsclient/file.h --- a/libfsclient/include/fsclient/file.h Tue May 28 18:57:53 2024 +0200 +++ b/libfsclient/include/fsclient/file.h Thu May 30 19:26:06 2024 +0200 @@ -162,7 +162,8 @@ /* Pipe operations. */ -long pipe_open(offset_t size, file_t *reader, file_t *writer, l4_cap_idx_t server); +long pipe_open(offset_t size, file_t *reader, file_t *writer, flags_t flags, + l4_cap_idx_t server); /* Pipe region operations. */ diff -r 415bc90de9a2 -r 29bc0785aace libfsclient/lib/src/client.cc --- a/libfsclient/lib/src/client.cc Tue May 28 18:57:53 2024 +0200 +++ b/libfsclient/lib/src/client.cc Thu May 30 19:26:06 2024 +0200 @@ -450,7 +450,7 @@ return -L4_ENOMEM; } - long err = pipe_open(DEFAULT_PIPE_SIZE, *reader, *writer, server); + long err = pipe_open(DEFAULT_PIPE_SIZE, *reader, *writer, flags, server); /* Set blocking if successful and non-blocking is not indicated. */ diff -r 415bc90de9a2 -r 29bc0785aace libfsclient/lib/src/file.cc --- a/libfsclient/lib/src/file.cc Tue May 28 18:57:53 2024 +0200 +++ b/libfsclient/lib/src/file.cc Thu May 30 19:26:06 2024 +0200 @@ -705,7 +705,8 @@ /* Open two pipe endpoints using the given pipe server. */ -long pipe_open(offset_t size, file_t *reader, file_t *writer, l4_cap_idx_t server) +long pipe_open(offset_t size, file_t *reader, file_t *writer, flags_t flags, + l4_cap_idx_t server) { if (l4_is_invalid_cap(server)) return -L4_EINVAL; @@ -714,8 +715,8 @@ file_init(reader); file_init(writer); - reader->flags = O_RDONLY; - writer->flags = O_WRONLY; + reader->flags = O_RDONLY | flags; + writer->flags = O_WRONLY | flags; return opener.pipe(size, &reader->ref, &writer->ref); }