$ erl
> i().
| -module(this_is_fun). | |
| -export([have_fun/0]). | |
| -export([loop/0]). | |
| have_fun() -> | |
| table = ets:new(table, [named_table]), | |
| F = fun(X) -> X + 1 end, | |
| ets:insert(table, {function, F}), | |
| register(funny, spawn(?MODULE, loop, [])). |
| #!/bin/sh | |
| tail -n +2 $1 > $1.tmp | |
| unzip -d $1.unescriptized $1.tmp | |
| rm $1.tmp |
| #!/bin/sh | |
| # Kill an Erlang process by node name | |
| # | |
| # e.g.: ekill my_node | |
| # Check usage | |
| if [ -z "$1" ]; then | |
| echo "Usage: `basename $0` NODE_NAME" | |
| exit 1 |
When starting a SFTP channel towards a system where user does not have a shell (i.e. it has /bin/false or equilvalent assigned in the /etc/passwd a misleading error message is returned to the user:
1> test:go().
** exception exit: {normal,{gen_server,call,
[<0.53.0>,
{{timeout,infinity},
wait_for_version_negotiation},
| #!/usr/bin/env bash | |
| # Kill an Erlang process by node name | |
| # | |
| # e.g.: kill-erlang-node kred | |
| # Check usage | |
| if [ -z "$1" ]; then | |
| echo "Usage: `basename $0` NODE_NAME" | |
| exit 1 |
Example of OTP deadlock via the application controller.
In OTP, the application environment is handled via a ETS table, which
is accessed via the application_controller process. Whilst reading
an environment variable is implemented as a mere lookup operation,
writes are serialized through the application controller.
In other words, it is not possible to set an environment variable
from a terminate/1 callback in a gen_server which traps exits,
| FROM centos:centos6 | |
| RUN yum update -y && yum install -y https://www.rabbitmq.com/releases/erlang/erlang-17.4-1.el6.x86_64.rpm |
| -module(atom_table). | |
| -export([count/0]). | |
| count() -> | |
| Info = erlang:system_info(info), | |
| Chunks = binary:split(Info, <<"=">>, [global]), | |
| [TabInfo] = [X || <<"index_table:atom_tab", X/binary>> <- Chunks], | |
| Lines = binary:split(TabInfo, <<"\n">>, [global]), | |
| Chunks2 = [binary:split(L, <<": ">>) || L <- Lines, L =/= <<>>], |
| #{deps => | |
| [#{name => <<"getopt">>, | |
| src_dirs => ["src"], | |
| out_mappings => | |
| [#{path => | |
| "/Users/robertoaloi/git/github/erlang-ls/erlang_ls/_build/default/lib/getopt/ebin", | |
| extension => ".beam"}], | |
| include_dirs => | |
| ["/Users/robertoaloi/git/github/erlang-ls/erlang_ls/_build/default/lib/getopt/include", | |
| "/Users/robertoaloi/git/github/erlang-ls/erlang_ls/_build/default/lib/getopt/src", |