ranch笔记

任何使用ranch的程序第一步需要启动ranch_app

start ranch application

入口
ranch_app:

1
start(_, _) ->
	_ = consider_profiling(), %% 是否启动eprof
	ranch_sup:start_link().

erl命令和参数

Startup

先拿mochiweb生成的一个例子说起,这是start-dev.sh脚本中的内容。启动一个mochiweb应用调用的就是这个

1
#!/bin/sh
exec erl \
    -pa ebin deps/*/ebin \
    -boot start_sasl \
    -sname helloworld_dev \
    -s helloworld \
    -s reloader

erlang_mysql_driver源码分析(三)

mysql_recv:start_link

1
init(Host, Port, User, Password, Database, LogFun, Encoding, PoolId, Parent) ->
    case mysql_recv:start_link(Host, Port, LogFun, self()) of
	{ok, RecvPid, Sock} ->
	    case mysql_init(Sock, RecvPid, User, Password, LogFun) of
		{ok, Version} ->

上次在mysql_conn:init里面调用了mysql_recv:start_link,我们知道返回一个RecvPid接收进程的Pid和Sock套接字。mysql_recv:start_link过程如下