[boost.asio / asio] leaving descriptor open in posix::stream_descriptor

Hey there, is it possible to avoid closing the descriptor when the destructor of posix::{basic_,}stream_descriptor is called? I guess I have to roll my own service or something else but I don't know where to start, I'm also sending this to the boost mailing list. -- Mierswa, Daniel If you still don't like it, that's ok: that's why I'm boss. I simply know better than you do. --- Linus Torvalds, comp.os.linux.advocacy, 1996/07/22

On Wed, 22 Dec 2010 09:18:40 +0100, Daniel Mierswa
Hey there, is it possible to avoid closing the descriptor when the destructor of posix::{basic_,}stream_descriptor is called?
Unfortunately it isn't (stream_descriptor always owns the file descriptor).
I guess I have to roll my own service or something else but I don't know where to start, I'm also sending this to the boost mailing list.
I also would like to see a stream_descriptor which doesn't own the file descriptor as right now you can't share ownership with other objects (that's why I had to add a release() method to the handle class in the latest Boost.Process draft as ownership must be passed from handle to stream_descriptor). Boris

On 23.12.2010 00:22, Boris Schaeling wrote:
On Wed, 22 Dec 2010 09:18:40 +0100, Daniel Mierswa
wrote: I guess I have to roll my own service or something else but I don't know where to start, I'm also sending this to the boost mailing list.
I also would like to see a stream_descriptor which doesn't own the file descriptor as right now you can't share ownership with other objects (that's why I had to add a release() method to the handle class in the latest Boost.Process draft as ownership must be passed from handle to stream_descriptor).
Boris
I guess one could ::dup/::fcntl it to create a shared file descriptor and give that to asio. What do you think of that? -- Mierswa, Daniel If you still don't like it, that's ok: that's why I'm boss. I simply know better than you do. --- Linus Torvalds, comp.os.linux.advocacy, 1996/07/22

On Fri, 24 Dec 2010 02:55:21 +0100, Daniel Mierswa
On 23.12.2010 00:22, Boris Schaeling wrote:
On Wed, 22 Dec 2010 09:18:40 +0100, Daniel Mierswa
wrote: I guess I have to roll my own service or something else but I don't know where to start, I'm also sending this to the boost mailing list.
I also would like to see a stream_descriptor which doesn't own the file descriptor as right now you can't share ownership with other objects (that's why I had to add a release() method to the handle class in the latest Boost.Process draft as ownership must be passed from handle to stream_descriptor).
Boris
I guess one could ::dup/::fcntl it to create a shared file descriptor and give that to asio. What do you think of that?
Sounds good to me and should work. :) Boris
participants (2)
-
Boris Schaeling
-
Daniel Mierswa