[erlang-questions] Using sigwait in linked driver causes erl_ddll:load to return {error, {open_error, -10}}

Rob Elsner thatsnotright@REDACTED
Sat Apr 18 15:49:18 CEST 2009


Hynek,

> Signal handling is at per process handling in Linux (in *nix systems
> generally). IMHO it is wrong idea using it in linked-in drivers at all. You
> will end up with unmaintainable mess because each change in signal handling
> in erts or any other linked-in driver will break whole system.

That's fine that you think it's the wrong idea, but it's one of the
few ways to get high resolution timers.  I chose a linked in driver
because of the reduced communication overhead back to an erlang
process.

The sigwait is not called until a process actually uses the port for
the driver, all of the other setup is done identically.  If I leave
sigwait uncommented, it won't load.  If I comment out just that line,
the driver loads correctly.

Thanks,
Rob



More information about the erlang-questions mailing list