Commit 5e0759f
fs: add file descriptor support to *File() funcs
These changes affect the following functions and their synchronous
counterparts:
* fs.readFile()
* fs.writeFile()
* fs.appendFile()
If the first parameter is a uint32, it is treated as a file descriptor.
In all other cases, the original implementation is used to ensure
backwards compatibility. File descriptor ownership is never taken from
the user.
The documentation was adjusted to reflect these API changes. A note was
added to make the user aware of file descriptor ownership and the
conditions under which a file descriptor can be used by each of these
functions.
Tests were extended to test for file descriptor parameters under the
conditions noted in the relevant documentation.
PR-URL: #3163
Reviewed-By: Trevor Norris <[email protected]>1 parent ee2e641 commit 5e0759f
File tree
7 files changed
+230
-29
lines changed- doc/api
- lib
- test/parallel
7 files changed
+230
-29
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
468 | 468 | | |
469 | 469 | | |
470 | 470 | | |
471 | | - | |
| 471 | + | |
472 | 472 | | |
473 | | - | |
| 473 | + | |
474 | 474 | | |
475 | 475 | | |
476 | 476 | | |
| |||
492 | 492 | | |
493 | 493 | | |
494 | 494 | | |
| 495 | + | |
495 | 496 | | |
496 | | - | |
| 497 | + | |
497 | 498 | | |
498 | | - | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
499 | 502 | | |
500 | 503 | | |
501 | 504 | | |
502 | 505 | | |
| 506 | + | |
503 | 507 | | |
504 | | - | |
505 | | - | |
506 | | - | |
| 508 | + | |
507 | 509 | | |
508 | 510 | | |
509 | 511 | | |
| |||
528 | 530 | | |
529 | 531 | | |
530 | 532 | | |
531 | | - | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
532 | 542 | | |
533 | 543 | | |
534 | 544 | | |
535 | | - | |
| 545 | + | |
536 | 546 | | |
537 | | - | |
| 547 | + | |
538 | 548 | | |
539 | 549 | | |
540 | 550 | | |
| |||
556 | 566 | | |
557 | 567 | | |
558 | 568 | | |
559 | | - | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
560 | 574 | | |
561 | 575 | | |
562 | 576 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
101 | 101 | | |
102 | 102 | | |
103 | 103 | | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
104 | 108 | | |
105 | 109 | | |
106 | 110 | | |
| |||
243 | 247 | | |
244 | 248 | | |
245 | 249 | | |
| 250 | + | |
246 | 251 | | |
247 | 252 | | |
248 | 253 | | |
249 | 254 | | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
250 | 262 | | |
251 | 263 | | |
252 | 264 | | |
| |||
257 | 269 | | |
258 | 270 | | |
259 | 271 | | |
| 272 | + | |
260 | 273 | | |
261 | 274 | | |
262 | 275 | | |
| |||
293 | 306 | | |
294 | 307 | | |
295 | 308 | | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
296 | 317 | | |
297 | 318 | | |
298 | 319 | | |
| |||
394 | 415 | | |
395 | 416 | | |
396 | 417 | | |
397 | | - | |
| 418 | + | |
| 419 | + | |
398 | 420 | | |
399 | 421 | | |
400 | 422 | | |
| |||
404 | 426 | | |
405 | 427 | | |
406 | 428 | | |
407 | | - | |
| 429 | + | |
408 | 430 | | |
409 | 431 | | |
410 | 432 | | |
| |||
419 | 441 | | |
420 | 442 | | |
421 | 443 | | |
422 | | - | |
| 444 | + | |
423 | 445 | | |
424 | 446 | | |
425 | 447 | | |
| |||
442 | 464 | | |
443 | 465 | | |
444 | 466 | | |
445 | | - | |
| 467 | + | |
446 | 468 | | |
447 | 469 | | |
448 | 470 | | |
449 | 471 | | |
450 | 472 | | |
451 | 473 | | |
452 | | - | |
| 474 | + | |
| 475 | + | |
453 | 476 | | |
454 | 477 | | |
455 | 478 | | |
| |||
1096 | 1119 | | |
1097 | 1120 | | |
1098 | 1121 | | |
1099 | | - | |
| 1122 | + | |
1100 | 1123 | | |
1101 | 1124 | | |
1102 | 1125 | | |
1103 | 1126 | | |
1104 | 1127 | | |
1105 | | - | |
| 1128 | + | |
1106 | 1129 | | |
1107 | | - | |
| 1130 | + | |
| 1131 | + | |
| 1132 | + | |
| 1133 | + | |
| 1134 | + | |
1108 | 1135 | | |
1109 | 1136 | | |
1110 | | - | |
| 1137 | + | |
| 1138 | + | |
| 1139 | + | |
| 1140 | + | |
| 1141 | + | |
1111 | 1142 | | |
1112 | 1143 | | |
1113 | 1144 | | |
1114 | 1145 | | |
1115 | 1146 | | |
1116 | 1147 | | |
1117 | | - | |
| 1148 | + | |
1118 | 1149 | | |
1119 | 1150 | | |
1120 | 1151 | | |
| |||
1134 | 1165 | | |
1135 | 1166 | | |
1136 | 1167 | | |
| 1168 | + | |
| 1169 | + | |
| 1170 | + | |
| 1171 | + | |
| 1172 | + | |
| 1173 | + | |
1137 | 1174 | | |
1138 | 1175 | | |
1139 | 1176 | | |
1140 | 1177 | | |
1141 | | - | |
1142 | | - | |
1143 | | - | |
1144 | | - | |
| 1178 | + | |
1145 | 1179 | | |
1146 | 1180 | | |
| 1181 | + | |
| 1182 | + | |
| 1183 | + | |
| 1184 | + | |
| 1185 | + | |
| 1186 | + | |
| 1187 | + | |
| 1188 | + | |
1147 | 1189 | | |
1148 | 1190 | | |
1149 | 1191 | | |
| |||
1158 | 1200 | | |
1159 | 1201 | | |
1160 | 1202 | | |
1161 | | - | |
| 1203 | + | |
| 1204 | + | |
| 1205 | + | |
1162 | 1206 | | |
1163 | 1207 | | |
1164 | 1208 | | |
| |||
1175 | 1219 | | |
1176 | 1220 | | |
1177 | 1221 | | |
1178 | | - | |
| 1222 | + | |
1179 | 1223 | | |
1180 | 1224 | | |
1181 | 1225 | | |
| |||
1192 | 1236 | | |
1193 | 1237 | | |
1194 | 1238 | | |
| 1239 | + | |
| 1240 | + | |
| 1241 | + | |
| 1242 | + | |
| 1243 | + | |
1195 | 1244 | | |
1196 | 1245 | | |
1197 | 1246 | | |
| |||
1203 | 1252 | | |
1204 | 1253 | | |
1205 | 1254 | | |
| 1255 | + | |
1206 | 1256 | | |
1207 | 1257 | | |
1208 | 1258 | | |
| 1259 | + | |
| 1260 | + | |
| 1261 | + | |
| 1262 | + | |
1209 | 1263 | | |
1210 | 1264 | | |
1211 | 1265 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
69 | 82 | | |
70 | 83 | | |
71 | 84 | | |
72 | 85 | | |
73 | 86 | | |
74 | 87 | | |
75 | 88 | | |
| 89 | + | |
76 | 90 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
95 | 125 | | |
96 | | - | |
| 126 | + | |
97 | 127 | | |
98 | 128 | | |
99 | 129 | | |
100 | 130 | | |
101 | 131 | | |
| 132 | + | |
102 | 133 | | |
0 commit comments