Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Re^3: Sharing a filehandle with an asynchronous event

by andal (Hermit)
on Jan 24, 2018 at 10:48 UTC ( #1207809=note: print w/replies, xml ) Need Help??

in reply to Re^2: Sharing a filehandle with an asynchronous event
in thread Sharing a filehandle with an asynchronous event

I'm still wondering if there's a real, feasible way to "share" a file handle across procs (forks, really)

It depends on the system you are running on. Under Linux one can share file descriptor even between processes (forks). One can open file in append mode, use buffering based on EOL character and then the system will make sure that messages from different processes are written line-by-line. That will put lines from one process between lines from another process, but won't corrupt lines.

Of course file handle is not file descriptor, so passing of "file handles" around is a little bit more work, but still is quite possible.

With multi-threaded processes things are similar. Even though there are internal mutexes (though I'm not sure here about perl), still one has to make sure that buffering is line-oriented and file descriptor is in append mode.

  • Comment on Re^3: Sharing a filehandle with an asynchronous event

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1207809]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (2)
As of 2022-11-28 18:14 GMT
Find Nodes?
    Voting Booth?