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
Aaron Piotrowski
c98ea5ec42
Fix code style from merge
2017-06-20 00:31:58 -05:00
Aaron Piotrowski
6113cfa453
Use object for eio polling
2017-06-20 00:14:11 -05: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
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
a05915f953
Change invalid mode to Error; throw instead of returning Failure
2017-05-16 19:46:59 -05:00
Aaron Piotrowski
b8c3321533
Fix mode to flags parsing
2017-05-12 15:38:03 -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
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
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
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
Bob Weinand
1725c684a0
Upgrade to Amp v2
2016-07-21 01:39:27 +02:00
Daniel Lowrey
8be0e9d8e7
remove superfluous semi-colons
2015-08-13 11:31:28 -04:00
Daniel Lowrey
ab05daa5a5
Stream file handle support
2015-08-13 10:15:04 -04:00
Daniel Lowrey
e5ba3490f8
Prevent eio SIGPIPE in stream_select() environments
2015-08-10 12:23:58 -04:00
Daniel Lowrey
27d9dfd466
Updates, new functionality
2015-08-08 10:42:41 -04:00
Daniel Lowrey
130303aeee
Transition from Filesystem -> File
2015-08-05 10:55:56 -04:00
Daniel Lowrey
07e110ac03
renaming
2015-07-30 10:17:41 -04:00