OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #ifndef RUNTIME_BIN_FDUTILS_H_ | 5 #ifndef RUNTIME_BIN_FDUTILS_H_ |
6 #define RUNTIME_BIN_FDUTILS_H_ | 6 #define RUNTIME_BIN_FDUTILS_H_ |
7 | 7 |
8 #include "bin/builtin.h" | 8 #include "bin/builtin.h" |
9 #include "platform/globals.h" | 9 #include "platform/globals.h" |
10 | 10 |
(...skipping 21 matching lines...) Expand all Loading... |
32 // which case it returns -1 and errno is still valid. The file | 32 // which case it returns -1 and errno is still valid. The file |
33 // descriptor must be in blocking mode. | 33 // descriptor must be in blocking mode. |
34 static ssize_t ReadFromBlocking(int fd, void* buffer, size_t count); | 34 static ssize_t ReadFromBlocking(int fd, void* buffer, size_t count); |
35 | 35 |
36 // Writes the requested number of bytes to a file descriptor. This | 36 // Writes the requested number of bytes to a file descriptor. This |
37 // function will only return on short writes if an error occours in | 37 // function will only return on short writes if an error occours in |
38 // which case it returns -1 and errno is still valid. The file | 38 // which case it returns -1 and errno is still valid. The file |
39 // descriptor must be in blocking mode. | 39 // descriptor must be in blocking mode. |
40 static ssize_t WriteToBlocking(int fd, const void* buffer, size_t count); | 40 static ssize_t WriteToBlocking(int fd, const void* buffer, size_t count); |
41 | 41 |
| 42 // Closes fd without modifying errno. |
| 43 static void SaveErrorAndClose(intptr_t fd); |
| 44 |
42 private: | 45 private: |
43 DISALLOW_ALLOCATION(); | 46 DISALLOW_ALLOCATION(); |
44 DISALLOW_IMPLICIT_CONSTRUCTORS(FDUtils); | 47 DISALLOW_IMPLICIT_CONSTRUCTORS(FDUtils); |
45 }; | 48 }; |
46 | 49 |
47 } // namespace bin | 50 } // namespace bin |
48 } // namespace dart | 51 } // namespace dart |
49 | 52 |
50 #endif // RUNTIME_BIN_FDUTILS_H_ | 53 #endif // RUNTIME_BIN_FDUTILS_H_ |
OLD | NEW |