Comments (4)
Part of this issue was on a write error Ratchet tried to send another message (lol) as pointed out in ratchetphp/Ratchet#137. That has been resolved in ratchetphp/Ratchet#200.
I still have a concern that if a write error occurs (attempting to write to a closed stream) and the developer does not take the appropriate action the resources will not be cleaned up...If !is_resource()
or feof()
are detected that will not change, I wonder if in addition to the error emission React should clean up the resources at that point.
from stream.
Would it make sense in this case for the stream to keep track of it's closed state? For instance:
class Stream extends EventEmitter implements ReadableStreamInterface, WritableStreamInterface
{
public $bufferSize = 4096;
public $stream;
protected $readable = true;
protected $writable = true;
protected $closing = false;
protected $loop;
protected $buffer;
protected $closed = false; //<--- NEW
public function __construct($stream, LoopInterface $loop)
{
$this->buffer->on('error', function ($error) {
if($this->closed) {
return;
}
$this->emit('error', array($error, $this));
$this->close();
});
}
public function handleClose()
{
if (is_resource($this->stream)) {
fclose($this->stream);
}
$this->closed = true;
}
}
from stream.
Hi, take a look on #25. Same issue.
from stream.
We believe this has been fixed as part of #25 and #40 👍 A release will be tagged soon, please report back if this problem persists!
from stream.
Related Issues (20)
- Test failures on OSX HOT 3
- unable to set stream resource to non-blocking - PHP 7.1 stream_set_blocking doesn't work HOT 6
- Unable to write to stream: fwrite(): send of 8192 bytes failed with errno=32 Broken pipe HOT 2
- end event from pipes doesn't forward $data HOT 3
- How to clear console with stream HOT 6
- Consider not throwing exception if stream cannot be set to non-blocking mode HOT 6
- Unable to write to stream: fwrite(): send of XXX bytes failed with errno=32 Broken pipe HOT 2
- [Question] Asynchronous I/O HOT 1
- ReadableStreamInterface to PSR-7 StreamInterface. HOT 2
- Is stream reads resource only once? HOT 1
- "Always on" connection that streams data "bundles" HOT 2
- PHP 7.4 in the test-suite
- Open ThroughStream for extension HOT 9
- Code working on *nix silently failing on Windows HOT 10
- Stream data into multiple CSV files and stream a ZIP file with these HOT 2
- Unable to set stream resource to non-blocking mode [not STDIN or STDOUT] HOT 5
- Roadmap to reactphp/stream v3 HOT 2
- Unclear semantics of write() in WritableStreamInterface HOT 5
- Closed STDIN returns endless stream of random data HOT 11
- Is 'close' a suitable name for that method? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from stream.