| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 part of dart.io; | 5 part of dart.io; |
| 6 | 6 |
| 7 /** | 7 /** |
| 8 * The modes in which a File can be opened. | 8 * The modes in which a File can be opened. |
| 9 */ | 9 */ |
| 10 class FileMode { | 10 class FileMode { |
| (...skipping 711 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 722 * specified, the full file is locked, If only `start` is specified | 722 * specified, the full file is locked, If only `start` is specified |
| 723 * the file is locked from byte position `start` to the end of the | 723 * the file is locked from byte position `start` to the end of the |
| 724 * file, no matter how large it grows. It is possible to specify an | 724 * file, no matter how large it grows. It is possible to specify an |
| 725 * explicit value of `end` which is past the current length of the file. | 725 * explicit value of `end` which is past the current length of the file. |
| 726 * | 726 * |
| 727 * To obtain an exclusive lock on a file it must be opened for writing. | 727 * To obtain an exclusive lock on a file it must be opened for writing. |
| 728 * | 728 * |
| 729 * *NOTE* file locking does have slight differences in behavior across | 729 * *NOTE* file locking does have slight differences in behavior across |
| 730 * platforms: | 730 * platforms: |
| 731 * | 731 * |
| 732 * On Linux and Mac OS this uses advisory locks, which have the | 732 * On Linux and OS X this uses advisory locks, which have the |
| 733 * surprising semantics that all locks associated with a given file | 733 * surprising semantics that all locks associated with a given file |
| 734 * are removed when *any* file descriptor for that file is closed by | 734 * are removed when *any* file descriptor for that file is closed by |
| 735 * the process. Note that this does not actually lock the file for | 735 * the process. Note that this does not actually lock the file for |
| 736 * access. Also note that advisory locks are on a process | 736 * access. Also note that advisory locks are on a process |
| 737 * level. This means that several isolates in the same process can | 737 * level. This means that several isolates in the same process can |
| 738 * obtain an exclusive lock on the same file. | 738 * obtain an exclusive lock on the same file. |
| 739 * | 739 * |
| 740 * On Windows the regions used for lock and unlock needs to match. If that | 740 * On Windows the regions used for lock and unlock needs to match. If that |
| 741 * is not the case unlocking will result in the OS error "The segment is | 741 * is not the case unlocking will result in the OS error "The segment is |
| 742 * already unlocked". | 742 * already unlocked". |
| (...skipping 12 matching lines...) Expand all Loading... |
| 755 * specified, the full file is locked, If only `start` is specified | 755 * specified, the full file is locked, If only `start` is specified |
| 756 * the file is locked from byte position `start` to the end of the | 756 * the file is locked from byte position `start` to the end of the |
| 757 * file, no matter how large it grows. It is possible to specify an | 757 * file, no matter how large it grows. It is possible to specify an |
| 758 * explicit value of `end` which is past the current length of the file. | 758 * explicit value of `end` which is past the current length of the file. |
| 759 * | 759 * |
| 760 * To obtain an exclusive lock on a file it must be opened for writing. | 760 * To obtain an exclusive lock on a file it must be opened for writing. |
| 761 * | 761 * |
| 762 * *NOTE* file locking does have slight differences in behavior across | 762 * *NOTE* file locking does have slight differences in behavior across |
| 763 * platforms: | 763 * platforms: |
| 764 * | 764 * |
| 765 * On Linux and Mac OS this uses advisory locks, which have the | 765 * On Linux and OS X this uses advisory locks, which have the |
| 766 * surprising semantics that all locks associated with a given file | 766 * surprising semantics that all locks associated with a given file |
| 767 * are removed when *any* file descriptor for that file is closed by | 767 * are removed when *any* file descriptor for that file is closed by |
| 768 * the process. Note that this does not actually lock the file for | 768 * the process. Note that this does not actually lock the file for |
| 769 * access. Also note that advisory locks are on a process | 769 * access. Also note that advisory locks are on a process |
| 770 * level. This means that several isolates in the same process can | 770 * level. This means that several isolates in the same process can |
| 771 * obtain an exclusive lock on the same file. | 771 * obtain an exclusive lock on the same file. |
| 772 * | 772 * |
| 773 * On Windows the regions used for lock and unlock needs to match. If that | 773 * On Windows the regions used for lock and unlock needs to match. If that |
| 774 * is not the case unlocking will result in the OS error "The segment is | 774 * is not the case unlocking will result in the OS error "The segment is |
| 775 * already unlocked". | 775 * already unlocked". |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 866 sb.write(": $osError"); | 866 sb.write(": $osError"); |
| 867 if (path != null) { | 867 if (path != null) { |
| 868 sb.write(", path = '$path'"); | 868 sb.write(", path = '$path'"); |
| 869 } | 869 } |
| 870 } else if (path != null) { | 870 } else if (path != null) { |
| 871 sb.write(": $path"); | 871 sb.write(": $path"); |
| 872 } | 872 } |
| 873 return sb.toString(); | 873 return sb.toString(); |
| 874 } | 874 } |
| 875 } | 875 } |
| OLD | NEW |