1.1 --- a/libfsclient/include/fsclient/file.h Tue May 28 18:57:53 2024 +0200
1.2 +++ b/libfsclient/include/fsclient/file.h Thu May 30 19:26:06 2024 +0200
1.3 @@ -162,7 +162,8 @@
1.4
1.5 /* Pipe operations. */
1.6
1.7 -long pipe_open(offset_t size, file_t *reader, file_t *writer, l4_cap_idx_t server);
1.8 +long pipe_open(offset_t size, file_t *reader, file_t *writer, flags_t flags,
1.9 + l4_cap_idx_t server);
1.10
1.11 /* Pipe region operations. */
1.12
2.1 --- a/libfsclient/lib/src/client.cc Tue May 28 18:57:53 2024 +0200
2.2 +++ b/libfsclient/lib/src/client.cc Thu May 30 19:26:06 2024 +0200
2.3 @@ -450,7 +450,7 @@
2.4 return -L4_ENOMEM;
2.5 }
2.6
2.7 - long err = pipe_open(DEFAULT_PIPE_SIZE, *reader, *writer, server);
2.8 + long err = pipe_open(DEFAULT_PIPE_SIZE, *reader, *writer, flags, server);
2.9
2.10 /* Set blocking if successful and non-blocking is not indicated. */
2.11
3.1 --- a/libfsclient/lib/src/file.cc Tue May 28 18:57:53 2024 +0200
3.2 +++ b/libfsclient/lib/src/file.cc Thu May 30 19:26:06 2024 +0200
3.3 @@ -705,7 +705,8 @@
3.4
3.5 /* Open two pipe endpoints using the given pipe server. */
3.6
3.7 -long pipe_open(offset_t size, file_t *reader, file_t *writer, l4_cap_idx_t server)
3.8 +long pipe_open(offset_t size, file_t *reader, file_t *writer, flags_t flags,
3.9 + l4_cap_idx_t server)
3.10 {
3.11 if (l4_is_invalid_cap(server))
3.12 return -L4_EINVAL;
3.13 @@ -714,8 +715,8 @@
3.14
3.15 file_init(reader);
3.16 file_init(writer);
3.17 - reader->flags = O_RDONLY;
3.18 - writer->flags = O_WRONLY;
3.19 + reader->flags = O_RDONLY | flags;
3.20 + writer->flags = O_WRONLY | flags;
3.21
3.22 return opener.pipe(size, &reader->ref, &writer->ref);
3.23 }