Multithreaded drivers

Romain Lenglet <>
Fri Jul 21 13:36:27 CEST 2006


Oscar Hellström wrote:
> Hi,
>
> Are multithreaded drivers supported on any POSIX systems these
> days? Or rather, is it supported on Linux?

Yes. It is supported on Linux.

> Some of the docs 
> say that it's only Windows and Solaris.
>
> Also, to be able to use driver_async() all communication with
> the port must be done using port_command/2 rather than
> port_control/3 or port_call/3, since the later expects a
> return value, am I right?

You must return a value when using port_call/3, yes, but that 
does not prevent you from calling driver_async() anyway, how you 
want and when you want.

Just return nil if you have nothing useful to return. nil is the 
smallest term, when encoded in the standard external format: it 
takes only one byte (after the version header byte, of 
course...).

-- 
Romain LENGLET



More information about the erlang-questions mailing list