示例#1
0
文件: UvDriver.php 项目: staabm/file
 /**
  * {@inheritdoc}
  */
 public function chown($path, $uid, $gid)
 {
     // @TODO Return a failure in windows environments
     $this->reactor->addRef();
     $promisor = new Deferred();
     \uv_fs_chown($this->loop, $path, $uid, $gid, function ($fh) use($promisor) {
         $this->reactor->delRef();
         $promisor->succeed((bool) $fh);
     });
     return $promisor->promise();
 }
 /**
  * Change the ownership of a file/directory by path
  *
  * @param string $path
  * @param int|string $uid
  * @param int|string $gid
  * @param callable $callback
  * @return $this
  */
 public function chown($path, $uid, $gid, callable $callback = null)
 {
     $self = $this;
     \uv_fs_chown($this->getLoop()->getBackend(), $path, $uid, $gid, function ($fd) use($callback, $self) {
         if ($callback === null) {
             return;
         }
         $callback($self, $fd);
     });
     return $this;
 }