1
0
mirror of https://github.com/danog/file.git synced 2024-11-26 20:04:51 +01:00
Commit Graph

75 Commits

Author SHA1 Message Date
Niklas Keller
089684ea00 Require parallel 0.1.4 and fix code style 2017-06-21 10:18:14 +02:00
Niklas Keller
f2f21ef0c0 Refactor UvDriver and UvHandle to use UvPoll as busy watcher
Fixes #16.
2017-06-20 23:39:14 +02:00
Niklas Keller
6d2ca5e2b2 Fix EioPoll busy watcher
Previously we used listen() + done(). This API design is quite prone to
errors, as it's easy to miss a done() call in some branch. Additionally
this commit ensures that pending operations are always completed before
the EioPoll is completely destructed. Previously unfinished operations
leaked into new EioPoll instances.
2017-06-20 22:59:23 +02:00
Aaron Piotrowski
8cd21e4994
Fix EioPoll destruction
The callback was holding a reference to $this. Hopefully this fixes the watcher cancellation issues.
2017-06-20 13:41:53 -05:00
Niklas Keller
4cccc8d0f7 Ensure reads resolve to null on EOF, fixes #13 2017-06-20 18:25:37 +02:00
Niklas Keller
dd64670987 Make StatCache compatible with loop resets 2017-06-20 17:40:47 +02:00
Niklas Keller
587514b598 Reintroduce operation watching for UV and array_filter fix 2017-06-20 13:38:36 +02:00
Aaron Piotrowski
c98ea5ec42
Fix code style from merge 2017-06-20 00:31:58 -05:00
Aaron Piotrowski
9e7c1c1488
Forbid simultaneous conflicting ops
Signficantly refactored EioHandle and UvHandle.
2017-06-20 00:17:07 -05:00
Aaron Piotrowski
6113cfa453
Use object for eio polling 2017-06-20 00:14:11 -05:00
Niklas Keller
f21ff58272 Use counter to prevent race conditions in UvDriver
Fixes #16.
2017-06-18 21:03:44 +02:00
Niklas Keller
5e1651468b Revert backslash normalization 2017-06-18 00:33:22 +02:00
Niklas Keller
0708ba14b3 Handle backslashes in paths correctly 2017-06-17 23:51:29 +02:00
Niklas Keller
1a46ea9b13 Remove bogus array_filter to allow 0 as directory name 2017-06-17 23:47:08 +02:00
Niklas Keller
62428ca0ef Fix code style 2017-06-17 23:41:57 +02:00
Aaron Piotrowski
e6f3661e62 Use constant in interface definition 2017-06-16 18:22:57 -05:00
Aaron Piotrowski
0becf8af09 Add nonblock and fsync flags in eio
Not 100% if these are needed, but it doesn't seem to hurt either.
2017-06-16 18:22:34 -05:00
Aaron Piotrowski
4f9630298f Throw FilesytemException on closed file
We may wish to change this later, but at least it is consistent between drivers now.
2017-06-16 18:21:56 -05:00
Aaron Piotrowski
d32ab898ba Update for parallel namespace changes 2017-05-18 09:33:52 -05:00
Aaron Piotrowski
cadc86d85a Function for parsing mode 2017-05-17 22:34:27 -05:00
Aaron Piotrowski
6ad1b8e55f Update for object-based uv extension 2017-05-16 19:55:24 -05:00
Aaron Piotrowski
a05915f953 Change invalid mode to Error; throw instead of returning Failure 2017-05-16 19:46:59 -05:00
Aaron Piotrowski
9b8b1daeb0 Implement stream interfaces in Handle 2017-05-12 15:43:23 -05:00
Aaron Piotrowski
b8c3321533 Fix mode to flags parsing 2017-05-12 15:38:03 -05:00
Aaron Piotrowski
1f264d949e Revert "Use byte-stream package"
This reverts commit ffde7791d7.

Oops… wrong branch.
2017-05-12 10:12:44 -05:00
Aaron Piotrowski
97256b9029 when() → onResolve() 2017-03-21 18:53:55 -05:00
Aaron Piotrowski
b3f354472f Update for async-interop merge and other Amp changes 2017-03-16 22:39:49 -05:00
Aaron Piotrowski
0d76557e8e Fix UV driver 2017-01-11 10:29:14 -06:00
Aaron Piotrowski
97b2d20534 Merge branch 'amp_v2' of https://github.com/amphp/file into amp_v2 2017-01-11 09:55:20 -06:00
Niklas Keller
a26ba1ca1f Change interop namespace 2017-01-11 14:22:06 +01:00
Aaron Piotrowski
650c448497 Update ParallelDriver with recursive mkdir() 2017-01-11 00:05:35 -06:00
Aaron Piotrowski
78ec5cc634 Merge branch 'master' into amp_v2 2017-01-11 00:05:18 -06:00
Aaron Piotrowski
c6e6c32aaf Drop strict types
Dropping strict types so it is not enforced in callbacks provided by application code.
2016-12-29 20:59:59 -06:00
Aaron Piotrowski
ffb21714e9 Awaitable → Promise 2016-11-14 23:17:19 -06:00
Bob Weinand
cf7a966900 Fix #11 - use 0666 default permissions and rely on umask() 2016-10-03 12:17:05 +02:00
Bob Weinand
6612ae6757 EioDriver and UvDriver did not pass O_TRUNC in file\put
Also prepare tag 0.1.3
2016-10-01 18:43:52 +01:00
Sergey Gelunenko
ada86677c9 replace slashes to DS 2016-09-28 15:18:05 +03:00
Sergey Gelunenko
058ef8b563 add default value 2016-09-28 15:15:12 +03:00
Sergey Gelunenko
76701d6918 recursive mkdir, fix #5 2016-09-28 13:39:24 +03:00
Aaron Piotrowski
a8af5a281d Parallel driver 2016-08-30 14:05:14 -05:00
Aaron Piotrowski
89657620dd Fix EioDriver::touch(); use static function for watcher 2016-08-24 01:21:14 -05:00
Aaron Piotrowski
226e196f29 Always provide priorities to eio functions 2016-08-24 00:31:56 -05:00
Aaron Piotrowski
7e54aa20ea Fix EioDriver::chown() prototype 2016-08-24 00:01:55 -05:00
Aaron Piotrowski
2db21996c6 Use strict types 2016-08-24 00:01:41 -05:00
Aaron Piotrowski
34599943bc More driver functions; add type declarations; code cleanup 2016-08-23 23:55:06 -05:00
Niklas Keller
0577bf7f63 Fix return type docs for open 2016-08-14 20:42:33 +02:00
Aaron Piotrowski
b20530b89e Update for loop registry changes 2016-08-12 10:47:55 -05:00
Bob Weinand
1725c684a0 Upgrade to Amp v2 2016-07-21 01:39:27 +02:00
Niklas Keller
7e04d6bade Replace all RuntimeExceptions with FilesystemExceptions 2016-03-24 18:31:44 +01:00
Bob Weinand
cb3b8e536b Fix read lengths (bugfix in php-uv)
Also prepare tag 0.1.1
2016-02-08 02:02:23 +01:00