@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Use more sensible waitForAny semantics in SSH process

Summary: Ref T4189. Updates the Phabricator stuff to use the new, more sensible semantics from D7769. Basically, this works correctly now and doesn't need workarounds.

Test Plan: Pushed Wine repo in 1m13s.

Reviewers: btrahan, zeeg

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T4189

Differential Revision: https://secure.phabricator.com/D7770

+1 -10
+1 -10
src/infrastructure/ssh/PhabricatorSSHPassthruCommand.php
··· 76 76 77 77 public function writeErrorIOCallback(PhutilChannel $channel, $data) { 78 78 $this->errorChannel->write($data); 79 - 80 - // TODO: Because of the way `waitForAny()` works, we degrade to a busy 81 - // wait if we hand it a writable, write-only channel. We should handle this 82 - // case better in `waitForAny()`. For now, just flush the error channel 83 - // explicity after writing data over it. 84 - 85 - $this->errorChannel->flush(); 86 79 } 87 80 88 81 public function execute() { ··· 105 98 $channels = array($command_channel, $io_channel, $error_channel); 106 99 107 100 while (true) { 108 - // TODO: See note in writeErrorIOCallback! 109 - $wait = array($command_channel, $io_channel); 110 - PhutilChannel::waitForAny($wait); 101 + PhutilChannel::waitForAny($channels); 111 102 112 103 $io_channel->update(); 113 104 $command_channel->update();