[erlang-questions] Opening "Special" Files
Wed Aug 26 03:22:54 CEST 2009
On Mon, Aug 24, 2009 at 01:03, Jayson Vantuyl<> wrote:
> Dear Erlang Questions,
> I really need to open a block device. I'll treat it just like a file, I
> swear. I'll open it. I'll read from it. I'll write to it. I'll close it
> when I'm done. I'll even cuddle if it wants to. Where's the harm in that?
> Unfortunately, there's a rather bureaucratic function called
> efile_may_openfile in erts/emulator/drivers/unix/unix_efile.c. It's on line
> 800. It insists that anything but a purely vanilla file just won't do.
> Also, can anyone even tell me why this is there? Is there some odd behavior
> on an embedded system? Is it a primitive attempt at a security feature?
> Are we really afraid of getting SIGPIPE?
My understanding based on discussions on the mailing list is that this
is an effort to avoid blocking I/O: a OS-level block on read or write
would result in all Erlang-level threads managed by the current
process being suspended until the I/O completes or times out.
More information about the erlang-questions