File tree 2 files changed +14
-2
lines changed
2 files changed +14
-2
lines changed Original file line number Diff line number Diff line change 1
- FROM rust :latest AS builder
1
+ FROM alpine :latest AS builder
2
2
LABEL authors="Anna-Sophie Zaitsewa"
3
3
4
+ RUN apk add rust cargo
5
+
4
6
RUN mkdir /tmp/pcp
5
7
WORKDIR /tmp/pcp
6
8
COPY . .
9
+ RUN mkdir .cargo
7
10
8
11
RUN cargo build --release
9
12
RUN cp /tmp/pcp/target/release/pretty-copy /usr/bin/pcp
10
13
11
14
FROM alpine:latest
12
15
LABEL authors="Anna-Sophie Zaitsewa"
13
16
17
+ RUN apk add musl libgcc
14
18
COPY --from=builder /usr/bin/pcp /usr/bin/pcp
15
19
Original file line number Diff line number Diff line change @@ -91,10 +91,18 @@ impl Writer for FileWriter{
91
91
}
92
92
93
93
async fn write_chunk ( & mut self , chunk : & DynBuffer , size : usize ) -> std:: io:: Result < usize > {
94
- if chunk. len ( ) == size {
94
+ let write_result = if chunk. len ( ) == size {
95
95
self . file . write ( chunk) . await
96
96
} else { //chunk.len() > size
97
97
self . file . write ( & chunk[ 0 ..size] ) . await
98
+ } ;
99
+ if write_result. is_err ( ) {
100
+ return write_result;
101
+ }
102
+ let sync_result = self . file . sync_all ( ) . await ;
103
+ if sync_result. is_err ( ) {
104
+ return Err ( std:: io:: Error :: last_os_error ( ) ) ;
98
105
}
106
+ write_result
99
107
}
100
108
}
You can’t perform that action at this time.
0 commit comments