… | |
… | |
1046 | close $fh; |
1046 | close $fh; |
1047 | |
1047 | |
1048 | if (@$objs) { |
1048 | if (@$objs) { |
1049 | if (my $fh = aio_open "$filename.pst~", O_WRONLY | O_CREAT, 0600) { |
1049 | if (my $fh = aio_open "$filename.pst~", O_WRONLY | O_CREAT, 0600) { |
1050 | chmod SAVE_MODE, $fh; |
1050 | chmod SAVE_MODE, $fh; |
1051 | my $data = Coro::Storable::nfreeze { version => 1, objs => $objs }; |
1051 | my $data = Coro::Storable::blocking_nfreeze { version => 1, objs => $objs }; |
1052 | aio_write $fh, 0, (length $data), $data, 0; |
1052 | aio_write $fh, 0, (length $data), $data, 0; |
1053 | aio_fsync $fh if $cf::USE_FSYNC; |
1053 | aio_fsync $fh if $cf::USE_FSYNC; |
1054 | close $fh; |
1054 | close $fh; |
1055 | aio_rename "$filename.pst~", "$filename.pst"; |
1055 | aio_rename "$filename.pst~", "$filename.pst"; |
1056 | } |
1056 | } |