file: module and character special files

Ulf Wiger ulf.wiger@REDACTED
Mon Feb 2 10:05:16 CET 2004

On Mon, 2 Feb 2004 17:41:18 +1300 (NZDT), Richard A. O'Keefe 
<ok@REDACTED> wrote:

> Patrik Nyblom <pan@REDACTED> wrote:

> 	Tony Rogvall (together with others) has made a remarkable
> 	*real, working, and portable* implementation
> 	of a threaded file driver, submitted it to us, and that is the one
> 	nowdays present in the emulator.
> Hooray!  Even an ordinary read on a local disc may take 10ms, which is
> not exactly fast these days.  When will this be released?

It _is_ difficult to find all features in the OTP documentation.

 From the ERTS Release Notes for OTP R7A (erts-5.0):

"There is now support for operating system threads in drivers. The file
driver has been modified to make use of this, which means that lengthy
file operations no longer cause everything on the node to pause.
Currently only supported on Solaris and Windows. The number of threads
in the thread pool can be set with the emulator system flag -A. The 
number of threads is 0, which means that this feature is turned off. The
number of threads in a node can be obtained by the call
erlang:info(thread_pool_size). "

Also from the 'file' Reference Manual:

"On operating systems with thread support (Solaris and Windows), it is
possible to let file operations be performed in threads of their own,
allowing other Erlang processes to continue executing in parallel with
the file operations. See the command-line option +A in the manual page
for erl."

You can find some general information on how to write your own
threaded drivers in the (erts) reference manuals erl_driver and

I believe you also have to pass the option --enable-threads to
'configure' (at least this used to be true.)

Ulf Wiger, Senior System Architect

This communication is confidential and intended solely for the addressee(s). Any unauthorized review, use, disclosure or distribution is prohibited. If you believe this message has been sent to you in error, please notify the sender by replying to this transmission and delete the message without disclosing it. Thank you.

E-mail including attachments is susceptible to data corruption, interruption, unauthorized amendment, tampering and viruses, and we only send and receive e-mails on the basis that we are not liable for any such corruption, interception, amendment, tampering or viruses or any consequences thereof.

More information about the erlang-questions mailing list