<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html xmlns:erl="http://erlang.org" xmlns:fn="http://www.w3.org/2005/02/xpath-functions"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" href="../../../../doc/otp_doc.css" type="text/css"> <title>Erlang -- heart</title> </head> <body> <div id="container"> <script id="js" type="text/javascript" language="JavaScript" src="../../../../doc/js/flipmenu/flipmenu.js"></script><script id="js2" type="text/javascript" src="../../../../doc/js/erlresolvelinks.js"></script><script language="JavaScript" type="text/javascript"> <!-- function getWinHeight() { var myHeight = 0; if( typeof( window.innerHeight ) == 'number' ) { //Non-IE myHeight = window.innerHeight; } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) { //IE 6+ in 'standards compliant mode' myHeight = document.documentElement.clientHeight; } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { //IE 4 compatible myHeight = document.body.clientHeight; } return myHeight; } function setscrollpos() { var objf=document.getElementById('loadscrollpos'); document.getElementById("leftnav").scrollTop = objf.offsetTop - getWinHeight()/2; } function addEvent(obj, evType, fn){ if (obj.addEventListener){ obj.addEventListener(evType, fn, true); return true; } else if (obj.attachEvent){ var r = obj.attachEvent("on"+evType, fn); return r; } else { return false; } } addEvent(window, 'load', setscrollpos); //--></script><div id="leftnav"><div class="innertube"> <div class="erlang-logo-wrapper"><a href="../../../../doc/index.html"><img alt="Erlang Logo" src="../../../../doc/erlang-logo.png" class="erlang-logo"></a></div> <p class="section-title">Kernel</p> <p class="section-subtitle">Reference Manual</p> <p class="section-version">Version 6.2</p> <ul class="panel-sections"> <li><a href="users_guide.html">User's Guide</a></li> <li><a href="index.html">Reference Manual</a></li> <li><a href="release_notes.html">Release Notes</a></li> <li><a href="../pdf/kernel-6.2.pdf">PDF</a></li> <li><a href="../../../../doc/index.html">Top</a></li> </ul> <ul class="expand-collapse-items"> <li><a href="javascript:openAllFlips()">Expand All</a></li> <li><a href="javascript:closeAllFlips()">Contract All</a></li> </ul> <h3>Table of Contents</h3> <ul class="flipMenu"> <li title="kernel (App)"><a href="kernel_app.html">kernel (App) </a></li> <li title="app"><a href="app.html">app</a></li> <li id="no" title="application " expanded="false">application<ul> <li><a href="application.html"> Top of manual page </a></li> <li title="ensure_all_started-1"><a href="application.html#ensure_all_started-1">ensure_all_started/1</a></li> <li title="ensure_all_started-2"><a href="application.html#ensure_all_started-2">ensure_all_started/2</a></li> <li title="ensure_started-1"><a href="application.html#ensure_started-1">ensure_started/1</a></li> <li title="ensure_started-2"><a href="application.html#ensure_started-2">ensure_started/2</a></li> <li title="get_all_env-0"><a href="application.html#get_all_env-0">get_all_env/0</a></li> <li title="get_all_env-1"><a href="application.html#get_all_env-1">get_all_env/1</a></li> <li title="get_all_key-0"><a href="application.html#get_all_key-0">get_all_key/0</a></li> <li title="get_all_key-1"><a href="application.html#get_all_key-1">get_all_key/1</a></li> <li title="get_application-0"><a href="application.html#get_application-0">get_application/0</a></li> <li title="get_application-1"><a href="application.html#get_application-1">get_application/1</a></li> <li title="get_env-1"><a href="application.html#get_env-1">get_env/1</a></li> <li title="get_env-2"><a href="application.html#get_env-2">get_env/2</a></li> <li title="get_env-3"><a href="application.html#get_env-3">get_env/3</a></li> <li title="get_key-1"><a href="application.html#get_key-1">get_key/1</a></li> <li title="get_key-2"><a href="application.html#get_key-2">get_key/2</a></li> <li title="load-1"><a href="application.html#load-1">load/1</a></li> <li title="load-2"><a href="application.html#load-2">load/2</a></li> <li title="loaded_applications-0"><a href="application.html#loaded_applications-0">loaded_applications/0</a></li> <li title="permit-2"><a href="application.html#permit-2">permit/2</a></li> <li title="set_env-3"><a href="application.html#set_env-3">set_env/3</a></li> <li title="set_env-4"><a href="application.html#set_env-4">set_env/4</a></li> <li title="start-1"><a href="application.html#start-1">start/1</a></li> <li title="start-2"><a href="application.html#start-2">start/2</a></li> <li title="start_type-0"><a href="application.html#start_type-0">start_type/0</a></li> <li title="stop-1"><a href="application.html#stop-1">stop/1</a></li> <li title="takeover-2"><a href="application.html#takeover-2">takeover/2</a></li> <li title="unload-1"><a href="application.html#unload-1">unload/1</a></li> <li title="unset_env-2"><a href="application.html#unset_env-2">unset_env/2</a></li> <li title="unset_env-3"><a href="application.html#unset_env-3">unset_env/3</a></li> <li title="which_applications-0"><a href="application.html#which_applications-0">which_applications/0</a></li> <li title="which_applications-1"><a href="application.html#which_applications-1">which_applications/1</a></li> <li title="Module:config_change-3"><a href="application.html#Module:config_change-3">Module:config_change/3</a></li> <li title="Module:prep_stop-1"><a href="application.html#Module:prep_stop-1">Module:prep_stop/1</a></li> <li title="Module:start-2"><a href="application.html#Module:start-2">Module:start/2</a></li> <li title="Module:start_phase-3"><a href="application.html#Module:start_phase-3">Module:start_phase/3</a></li> <li title="Module:stop-1"><a href="application.html#Module:stop-1">Module:stop/1</a></li> </ul> </li> <li id="no" title="auth " expanded="false">auth<ul> <li><a href="auth.html"> Top of manual page </a></li> <li title="cookie-0"><a href="auth.html#cookie-0">cookie/0</a></li> <li title="cookie-1"><a href="auth.html#cookie-1">cookie/1</a></li> <li title="is_auth-1"><a href="auth.html#is_auth-1">is_auth/1</a></li> <li title="node_cookie-1"><a href="auth.html#node_cookie-1">node_cookie/1</a></li> <li title="node_cookie-2"><a href="auth.html#node_cookie-2">node_cookie/2</a></li> </ul> </li> <li id="no" title="code " expanded="false">code<ul> <li><a href="code.html"> Top of manual page </a></li> <li title="add_path-1"><a href="code.html#add_path-1">add_path/1</a></li> <li title="add_patha-1"><a href="code.html#add_patha-1">add_patha/1</a></li> <li title="add_paths-1"><a href="code.html#add_paths-1">add_paths/1</a></li> <li title="add_pathsa-1"><a href="code.html#add_pathsa-1">add_pathsa/1</a></li> <li title="add_pathsz-1"><a href="code.html#add_pathsz-1">add_pathsz/1</a></li> <li title="add_pathz-1"><a href="code.html#add_pathz-1">add_pathz/1</a></li> <li title="all_loaded-0"><a href="code.html#all_loaded-0">all_loaded/0</a></li> <li title="atomic_load-1"><a href="code.html#atomic_load-1">atomic_load/1</a></li> <li title="clash-0"><a href="code.html#clash-0">clash/0</a></li> <li title="compiler_dir-0"><a href="code.html#compiler_dir-0">compiler_dir/0</a></li> <li title="del_path-1"><a href="code.html#del_path-1">del_path/1</a></li> <li title="delete-1"><a href="code.html#delete-1">delete/1</a></li> <li title="ensure_loaded-1"><a href="code.html#ensure_loaded-1">ensure_loaded/1</a></li> <li title="ensure_modules_loaded-1"><a href="code.html#ensure_modules_loaded-1">ensure_modules_loaded/1</a></li> <li title="finish_loading-1"><a href="code.html#finish_loading-1">finish_loading/1</a></li> <li title="get_mode-0"><a href="code.html#get_mode-0">get_mode/0</a></li> <li title="get_object_code-1"><a href="code.html#get_object_code-1">get_object_code/1</a></li> <li title="get_path-0"><a href="code.html#get_path-0">get_path/0</a></li> <li title="is_loaded-1"><a href="code.html#is_loaded-1">is_loaded/1</a></li> <li title="is_module_native-1"><a href="code.html#is_module_native-1">is_module_native/1</a></li> <li title="is_sticky-1"><a href="code.html#is_sticky-1">is_sticky/1</a></li> <li title="lib_dir-0"><a href="code.html#lib_dir-0">lib_dir/0</a></li> <li title="lib_dir-1"><a href="code.html#lib_dir-1">lib_dir/1</a></li> <li title="lib_dir-2"><a href="code.html#lib_dir-2">lib_dir/2</a></li> <li title="load_abs-1"><a href="code.html#load_abs-1">load_abs/1</a></li> <li title="load_binary-3"><a href="code.html#load_binary-3">load_binary/3</a></li> <li title="load_file-1"><a href="code.html#load_file-1">load_file/1</a></li> <li title="modified_modules-0"><a href="code.html#modified_modules-0">modified_modules/0</a></li> <li title="module_status-1"><a href="code.html#module_status-1">module_status/1</a></li> <li title="objfile_extension-0"><a href="code.html#objfile_extension-0">objfile_extension/0</a></li> <li title="prepare_loading-1"><a href="code.html#prepare_loading-1">prepare_loading/1</a></li> <li title="priv_dir-1"><a href="code.html#priv_dir-1">priv_dir/1</a></li> <li title="purge-1"><a href="code.html#purge-1">purge/1</a></li> <li title="replace_path-2"><a href="code.html#replace_path-2">replace_path/2</a></li> <li title="root_dir-0"><a href="code.html#root_dir-0">root_dir/0</a></li> <li title="set_path-1"><a href="code.html#set_path-1">set_path/1</a></li> <li title="soft_purge-1"><a href="code.html#soft_purge-1">soft_purge/1</a></li> <li title="stick_dir-1"><a href="code.html#stick_dir-1">stick_dir/1</a></li> <li title="unstick_dir-1"><a href="code.html#unstick_dir-1">unstick_dir/1</a></li> <li title="where_is_file-1"><a href="code.html#where_is_file-1">where_is_file/1</a></li> <li title="which-1"><a href="code.html#which-1">which/1</a></li> </ul> </li> <li title="config"><a href="config.html">config</a></li> <li id="no" title="disk_log " expanded="false">disk_log<ul> <li><a href="disk_log.html"> Top of manual page </a></li> <li title="accessible_logs-0"><a href="disk_log.html#accessible_logs-0">accessible_logs/0</a></li> <li title="alog-2"><a href="disk_log.html#alog-2">alog/2</a></li> <li title="alog_terms-2"><a href="disk_log.html#alog_terms-2">alog_terms/2</a></li> <li title="balog-2"><a href="disk_log.html#balog-2">balog/2</a></li> <li title="balog_terms-2"><a href="disk_log.html#balog_terms-2">balog_terms/2</a></li> <li title="bchunk-2"><a href="disk_log.html#bchunk-2">bchunk/2</a></li> <li title="bchunk-3"><a href="disk_log.html#bchunk-3">bchunk/3</a></li> <li title="block-1"><a href="disk_log.html#block-1">block/1</a></li> <li title="block-2"><a href="disk_log.html#block-2">block/2</a></li> <li title="blog-2"><a href="disk_log.html#blog-2">blog/2</a></li> <li title="blog_terms-2"><a href="disk_log.html#blog_terms-2">blog_terms/2</a></li> <li title="breopen-3"><a href="disk_log.html#breopen-3">breopen/3</a></li> <li title="btruncate-2"><a href="disk_log.html#btruncate-2">btruncate/2</a></li> <li title="change_header-2"><a href="disk_log.html#change_header-2">change_header/2</a></li> <li title="change_notify-3"><a href="disk_log.html#change_notify-3">change_notify/3</a></li> <li title="change_size-2"><a href="disk_log.html#change_size-2">change_size/2</a></li> <li title="chunk-2"><a href="disk_log.html#chunk-2">chunk/2</a></li> <li title="chunk-3"><a href="disk_log.html#chunk-3">chunk/3</a></li> <li title="chunk_info-1"><a href="disk_log.html#chunk_info-1">chunk_info/1</a></li> <li title="chunk_step-3"><a href="disk_log.html#chunk_step-3">chunk_step/3</a></li> <li title="close-1"><a href="disk_log.html#close-1">close/1</a></li> <li title="format_error-1"><a href="disk_log.html#format_error-1">format_error/1</a></li> <li title="inc_wrap_file-1"><a href="disk_log.html#inc_wrap_file-1">inc_wrap_file/1</a></li> <li title="info-1"><a href="disk_log.html#info-1">info/1</a></li> <li title="lclose-1"><a href="disk_log.html#lclose-1">lclose/1</a></li> <li title="lclose-2"><a href="disk_log.html#lclose-2">lclose/2</a></li> <li title="log-2"><a href="disk_log.html#log-2">log/2</a></li> <li title="log_terms-2"><a href="disk_log.html#log_terms-2">log_terms/2</a></li> <li title="open-1"><a href="disk_log.html#open-1">open/1</a></li> <li title="pid2name-1"><a href="disk_log.html#pid2name-1">pid2name/1</a></li> <li title="reopen-2"><a href="disk_log.html#reopen-2">reopen/2</a></li> <li title="reopen-3"><a href="disk_log.html#reopen-3">reopen/3</a></li> <li title="sync-1"><a href="disk_log.html#sync-1">sync/1</a></li> <li title="truncate-1"><a href="disk_log.html#truncate-1">truncate/1</a></li> <li title="truncate-2"><a href="disk_log.html#truncate-2">truncate/2</a></li> <li title="unblock-1"><a href="disk_log.html#unblock-1">unblock/1</a></li> </ul> </li> <li id="no" title="erl_boot_server " expanded="false">erl_boot_server<ul> <li><a href="erl_boot_server.html"> Top of manual page </a></li> <li title="add_slave-1"><a href="erl_boot_server.html#add_slave-1">add_slave/1</a></li> <li title="delete_slave-1"><a href="erl_boot_server.html#delete_slave-1">delete_slave/1</a></li> <li title="start-1"><a href="erl_boot_server.html#start-1">start/1</a></li> <li title="start_link-1"><a href="erl_boot_server.html#start_link-1">start_link/1</a></li> <li title="which_slaves-0"><a href="erl_boot_server.html#which_slaves-0">which_slaves/0</a></li> </ul> </li> <li id="no" title="erl_ddll " expanded="false">erl_ddll<ul> <li><a href="erl_ddll.html"> Top of manual page </a></li> <li title="demonitor-1"><a href="erl_ddll.html#demonitor-1">demonitor/1</a></li> <li title="format_error-1"><a href="erl_ddll.html#format_error-1">format_error/1</a></li> <li title="info-0"><a href="erl_ddll.html#info-0">info/0</a></li> <li title="info-1"><a href="erl_ddll.html#info-1">info/1</a></li> <li title="info-2"><a href="erl_ddll.html#info-2">info/2</a></li> <li title="load-2"><a href="erl_ddll.html#load-2">load/2</a></li> <li title="load_driver-2"><a href="erl_ddll.html#load_driver-2">load_driver/2</a></li> <li title="loaded_drivers-0"><a href="erl_ddll.html#loaded_drivers-0">loaded_drivers/0</a></li> <li title="monitor-2"><a href="erl_ddll.html#monitor-2">monitor/2</a></li> <li title="reload-2"><a href="erl_ddll.html#reload-2">reload/2</a></li> <li title="reload_driver-2"><a href="erl_ddll.html#reload_driver-2">reload_driver/2</a></li> <li title="try_load-3"><a href="erl_ddll.html#try_load-3">try_load/3</a></li> <li title="try_unload-2"><a href="erl_ddll.html#try_unload-2">try_unload/2</a></li> <li title="unload-1"><a href="erl_ddll.html#unload-1">unload/1</a></li> <li title="unload_driver-1"><a href="erl_ddll.html#unload_driver-1">unload_driver/1</a></li> </ul> </li> <li id="no" title="erl_epmd " expanded="false">erl_epmd<ul> <li><a href="erl_epmd.html"> Top of manual page </a></li> <li title="address_please-3"><a href="erl_epmd.html#address_please-3">address_please/3</a></li> <li title="names-1"><a href="erl_epmd.html#names-1">names/1</a></li> <li title="port_please-2"><a href="erl_epmd.html#port_please-2">port_please/2</a></li> <li title="port_please-3"><a href="erl_epmd.html#port_please-3">port_please/3</a></li> <li title="register_node-2"><a href="erl_epmd.html#register_node-2">register_node/2</a></li> <li title="register_node-3"><a href="erl_epmd.html#register_node-3">register_node/3</a></li> <li title="start_link-0"><a href="erl_epmd.html#start_link-0">start_link/0</a></li> </ul> </li> <li title="erl_prim_loader"><a href="erl_prim_loader.html">erl_prim_loader</a></li> <li title="erlang"><a href="erlang.html">erlang</a></li> <li id="no" title="error_handler " expanded="false">error_handler<ul> <li><a href="error_handler.html"> Top of manual page </a></li> <li title="raise_undef_exception-3"><a href="error_handler.html#raise_undef_exception-3">raise_undef_exception/3</a></li> <li title="undefined_function-3"><a href="error_handler.html#undefined_function-3">undefined_function/3</a></li> <li title="undefined_lambda-3"><a href="error_handler.html#undefined_lambda-3">undefined_lambda/3</a></li> </ul> </li> <li id="no" title="error_logger " expanded="false">error_logger<ul> <li><a href="error_logger.html"> Top of manual page </a></li> <li title="add_report_handler-1"><a href="error_logger.html#add_report_handler-1">add_report_handler/1</a></li> <li title="add_report_handler-2"><a href="error_logger.html#add_report_handler-2">add_report_handler/2</a></li> <li title="delete_report_handler-1"><a href="error_logger.html#delete_report_handler-1">delete_report_handler/1</a></li> <li title="error_msg-1"><a href="error_logger.html#error_msg-1">error_msg/1</a></li> <li title="error_msg-2"><a href="error_logger.html#error_msg-2">error_msg/2</a></li> <li title="error_report-1"><a href="error_logger.html#error_report-1">error_report/1</a></li> <li title="error_report-2"><a href="error_logger.html#error_report-2">error_report/2</a></li> <li title="format-2"><a href="error_logger.html#format-2">format/2</a></li> <li title="get_format_depth-0"><a href="error_logger.html#get_format_depth-0">get_format_depth/0</a></li> <li title="info_msg-1"><a href="error_logger.html#info_msg-1">info_msg/1</a></li> <li title="info_msg-2"><a href="error_logger.html#info_msg-2">info_msg/2</a></li> <li title="info_report-1"><a href="error_logger.html#info_report-1">info_report/1</a></li> <li title="info_report-2"><a href="error_logger.html#info_report-2">info_report/2</a></li> <li title="logfile-1"><a href="error_logger.html#logfile-1">logfile/1</a></li> <li title="tty-1"><a href="error_logger.html#tty-1">tty/1</a></li> <li title="warning_map-0"><a href="error_logger.html#warning_map-0">warning_map/0</a></li> <li title="warning_msg-1"><a href="error_logger.html#warning_msg-1">warning_msg/1</a></li> <li title="warning_msg-2"><a href="error_logger.html#warning_msg-2">warning_msg/2</a></li> <li title="warning_report-1"><a href="error_logger.html#warning_report-1">warning_report/1</a></li> <li title="warning_report-2"><a href="error_logger.html#warning_report-2">warning_report/2</a></li> </ul> </li> <li id="no" title="file " expanded="false">file<ul> <li><a href="file.html"> Top of manual page </a></li> <li title="advise-4"><a href="file.html#advise-4">advise/4</a></li> <li title="allocate-3"><a href="file.html#allocate-3">allocate/3</a></li> <li title="change_group-2"><a href="file.html#change_group-2">change_group/2</a></li> <li title="change_mode-2"><a href="file.html#change_mode-2">change_mode/2</a></li> <li title="change_owner-2"><a href="file.html#change_owner-2">change_owner/2</a></li> <li title="change_owner-3"><a href="file.html#change_owner-3">change_owner/3</a></li> <li title="change_time-2"><a href="file.html#change_time-2">change_time/2</a></li> <li title="change_time-3"><a href="file.html#change_time-3">change_time/3</a></li> <li title="close-1"><a href="file.html#close-1">close/1</a></li> <li title="consult-1"><a href="file.html#consult-1">consult/1</a></li> <li title="copy-2"><a href="file.html#copy-2">copy/2</a></li> <li title="copy-3"><a href="file.html#copy-3">copy/3</a></li> <li title="datasync-1"><a href="file.html#datasync-1">datasync/1</a></li> <li title="del_dir-1"><a href="file.html#del_dir-1">del_dir/1</a></li> <li title="delete-1"><a href="file.html#delete-1">delete/1</a></li> <li title="eval-1"><a href="file.html#eval-1">eval/1</a></li> <li title="eval-2"><a href="file.html#eval-2">eval/2</a></li> <li title="format_error-1"><a href="file.html#format_error-1">format_error/1</a></li> <li title="get_cwd-0"><a href="file.html#get_cwd-0">get_cwd/0</a></li> <li title="get_cwd-1"><a href="file.html#get_cwd-1">get_cwd/1</a></li> <li title="list_dir-1"><a href="file.html#list_dir-1">list_dir/1</a></li> <li title="list_dir_all-1"><a href="file.html#list_dir_all-1">list_dir_all/1</a></li> <li title="make_dir-1"><a href="file.html#make_dir-1">make_dir/1</a></li> <li title="make_link-2"><a href="file.html#make_link-2">make_link/2</a></li> <li title="make_symlink-2"><a href="file.html#make_symlink-2">make_symlink/2</a></li> <li title="native_name_encoding-0"><a href="file.html#native_name_encoding-0">native_name_encoding/0</a></li> <li title="open-2"><a href="file.html#open-2">open/2</a></li> <li title="path_consult-2"><a href="file.html#path_consult-2">path_consult/2</a></li> <li title="path_eval-2"><a href="file.html#path_eval-2">path_eval/2</a></li> <li title="path_open-3"><a href="file.html#path_open-3">path_open/3</a></li> <li title="path_script-2"><a href="file.html#path_script-2">path_script/2</a></li> <li title="path_script-3"><a href="file.html#path_script-3">path_script/3</a></li> <li title="pid2name-1"><a href="file.html#pid2name-1">pid2name/1</a></li> <li title="position-2"><a href="file.html#position-2">position/2</a></li> <li title="pread-2"><a href="file.html#pread-2">pread/2</a></li> <li title="pread-3"><a href="file.html#pread-3">pread/3</a></li> <li title="pwrite-2"><a href="file.html#pwrite-2">pwrite/2</a></li> <li title="pwrite-3"><a href="file.html#pwrite-3">pwrite/3</a></li> <li title="read-2"><a href="file.html#read-2">read/2</a></li> <li title="read_file-1"><a href="file.html#read_file-1">read_file/1</a></li> <li title="read_file_info-1"><a href="file.html#read_file_info-1">read_file_info/1</a></li> <li title="read_file_info-2"><a href="file.html#read_file_info-2">read_file_info/2</a></li> <li title="read_line-1"><a href="file.html#read_line-1">read_line/1</a></li> <li title="read_link-1"><a href="file.html#read_link-1">read_link/1</a></li> <li title="read_link_all-1"><a href="file.html#read_link_all-1">read_link_all/1</a></li> <li title="read_link_info-1"><a href="file.html#read_link_info-1">read_link_info/1</a></li> <li title="read_link_info-2"><a href="file.html#read_link_info-2">read_link_info/2</a></li> <li title="rename-2"><a href="file.html#rename-2">rename/2</a></li> <li title="script-1"><a href="file.html#script-1">script/1</a></li> <li title="script-2"><a href="file.html#script-2">script/2</a></li> <li title="sendfile-2"><a href="file.html#sendfile-2">sendfile/2</a></li> <li title="sendfile-5"><a href="file.html#sendfile-5">sendfile/5</a></li> <li title="set_cwd-1"><a href="file.html#set_cwd-1">set_cwd/1</a></li> <li title="sync-1"><a href="file.html#sync-1">sync/1</a></li> <li title="truncate-1"><a href="file.html#truncate-1">truncate/1</a></li> <li title="write-2"><a href="file.html#write-2">write/2</a></li> <li title="write_file-2"><a href="file.html#write_file-2">write_file/2</a></li> <li title="write_file-3"><a href="file.html#write_file-3">write_file/3</a></li> <li title="write_file_info-2"><a href="file.html#write_file_info-2">write_file_info/2</a></li> <li title="write_file_info-3"><a href="file.html#write_file_info-3">write_file_info/3</a></li> </ul> </li> <li id="no" title="gen_sctp " expanded="false">gen_sctp<ul> <li><a href="gen_sctp.html"> Top of manual page </a></li> <li title="abort-2"><a href="gen_sctp.html#abort-2">abort/2</a></li> <li title="close-1"><a href="gen_sctp.html#close-1">close/1</a></li> <li title="connect-4"><a href="gen_sctp.html#connect-4">connect/4</a></li> <li title="connect-5"><a href="gen_sctp.html#connect-5">connect/5</a></li> <li title="connect_init-4"><a href="gen_sctp.html#connect_init-4">connect_init/4</a></li> <li title="connect_init-5"><a href="gen_sctp.html#connect_init-5">connect_init/5</a></li> <li title="controlling_process-2"><a href="gen_sctp.html#controlling_process-2">controlling_process/2</a></li> <li title="eof-2"><a href="gen_sctp.html#eof-2">eof/2</a></li> <li title="error_string-1"><a href="gen_sctp.html#error_string-1">error_string/1</a></li> <li title="listen-2"><a href="gen_sctp.html#listen-2">listen/2</a></li> <li title="open-0"><a href="gen_sctp.html#open-0">open/0</a></li> <li title="open-1"><a href="gen_sctp.html#open-1">open/1</a></li> <li title="open-2"><a href="gen_sctp.html#open-2">open/2</a></li> <li title="peeloff-2"><a href="gen_sctp.html#peeloff-2">peeloff/2</a></li> <li title="recv-1"><a href="gen_sctp.html#recv-1">recv/1</a></li> <li title="recv-2"><a href="gen_sctp.html#recv-2">recv/2</a></li> <li title="send-3"><a href="gen_sctp.html#send-3">send/3</a></li> <li title="send-4"><a href="gen_sctp.html#send-4">send/4</a></li> </ul> </li> <li id="no" title="gen_tcp " expanded="false">gen_tcp<ul> <li><a href="gen_tcp.html"> Top of manual page </a></li> <li title="accept-1"><a href="gen_tcp.html#accept-1">accept/1</a></li> <li title="accept-2"><a href="gen_tcp.html#accept-2">accept/2</a></li> <li title="close-1"><a href="gen_tcp.html#close-1">close/1</a></li> <li title="connect-3"><a href="gen_tcp.html#connect-3">connect/3</a></li> <li title="connect-4"><a href="gen_tcp.html#connect-4">connect/4</a></li> <li title="controlling_process-2"><a href="gen_tcp.html#controlling_process-2">controlling_process/2</a></li> <li title="listen-2"><a href="gen_tcp.html#listen-2">listen/2</a></li> <li title="recv-2"><a href="gen_tcp.html#recv-2">recv/2</a></li> <li title="recv-3"><a href="gen_tcp.html#recv-3">recv/3</a></li> <li title="send-2"><a href="gen_tcp.html#send-2">send/2</a></li> <li title="shutdown-2"><a href="gen_tcp.html#shutdown-2">shutdown/2</a></li> </ul> </li> <li id="no" title="gen_udp " expanded="false">gen_udp<ul> <li><a href="gen_udp.html"> Top of manual page </a></li> <li title="close-1"><a href="gen_udp.html#close-1">close/1</a></li> <li title="controlling_process-2"><a href="gen_udp.html#controlling_process-2">controlling_process/2</a></li> <li title="open-1"><a href="gen_udp.html#open-1">open/1</a></li> <li title="open-2"><a href="gen_udp.html#open-2">open/2</a></li> <li title="recv-2"><a href="gen_udp.html#recv-2">recv/2</a></li> <li title="recv-3"><a href="gen_udp.html#recv-3">recv/3</a></li> <li title="send-4"><a href="gen_udp.html#send-4">send/4</a></li> </ul> </li> <li id="no" title="global " expanded="false">global<ul> <li><a href="global.html"> Top of manual page </a></li> <li title="del_lock-1"><a href="global.html#del_lock-1">del_lock/1</a></li> <li title="del_lock-2"><a href="global.html#del_lock-2">del_lock/2</a></li> <li title="notify_all_name-3"><a href="global.html#notify_all_name-3">notify_all_name/3</a></li> <li title="random_exit_name-3"><a href="global.html#random_exit_name-3">random_exit_name/3</a></li> <li title="random_notify_name-3"><a href="global.html#random_notify_name-3">random_notify_name/3</a></li> <li title="re_register_name-2"><a href="global.html#re_register_name-2">re_register_name/2</a></li> <li title="re_register_name-3"><a href="global.html#re_register_name-3">re_register_name/3</a></li> <li title="register_name-2"><a href="global.html#register_name-2">register_name/2</a></li> <li title="register_name-3"><a href="global.html#register_name-3">register_name/3</a></li> <li title="registered_names-0"><a href="global.html#registered_names-0">registered_names/0</a></li> <li title="send-2"><a href="global.html#send-2">send/2</a></li> <li title="set_lock-1"><a href="global.html#set_lock-1">set_lock/1</a></li> <li title="set_lock-2"><a href="global.html#set_lock-2">set_lock/2</a></li> <li title="set_lock-3"><a href="global.html#set_lock-3">set_lock/3</a></li> <li title="sync-0"><a href="global.html#sync-0">sync/0</a></li> <li title="trans-2"><a href="global.html#trans-2">trans/2</a></li> <li title="trans-3"><a href="global.html#trans-3">trans/3</a></li> <li title="trans-4"><a href="global.html#trans-4">trans/4</a></li> <li title="unregister_name-1"><a href="global.html#unregister_name-1">unregister_name/1</a></li> <li title="whereis_name-1"><a href="global.html#whereis_name-1">whereis_name/1</a></li> </ul> </li> <li id="no" title="global_group " expanded="false">global_group<ul> <li><a href="global_group.html"> Top of manual page </a></li> <li title="global_groups-0"><a href="global_group.html#global_groups-0">global_groups/0</a></li> <li title="info-0"><a href="global_group.html#info-0">info/0</a></li> <li title="monitor_nodes-1"><a href="global_group.html#monitor_nodes-1">monitor_nodes/1</a></li> <li title="own_nodes-0"><a href="global_group.html#own_nodes-0">own_nodes/0</a></li> <li title="registered_names-1"><a href="global_group.html#registered_names-1">registered_names/1</a></li> <li title="send-2"><a href="global_group.html#send-2">send/2</a></li> <li title="send-3"><a href="global_group.html#send-3">send/3</a></li> <li title="sync-0"><a href="global_group.html#sync-0">sync/0</a></li> <li title="whereis_name-1"><a href="global_group.html#whereis_name-1">whereis_name/1</a></li> <li title="whereis_name-2"><a href="global_group.html#whereis_name-2">whereis_name/2</a></li> </ul> </li> <li id="loadscrollpos" title="heart " expanded="true">heart<ul> <li><a href="heart.html"> Top of manual page </a></li> <li title="clear_callback-0"><a href="heart.html#clear_callback-0">clear_callback/0</a></li> <li title="clear_cmd-0"><a href="heart.html#clear_cmd-0">clear_cmd/0</a></li> <li title="get_callback-0"><a href="heart.html#get_callback-0">get_callback/0</a></li> <li title="get_cmd-0"><a href="heart.html#get_cmd-0">get_cmd/0</a></li> <li title="get_options-0"><a href="heart.html#get_options-0">get_options/0</a></li> <li title="set_callback-2"><a href="heart.html#set_callback-2">set_callback/2</a></li> <li title="set_cmd-1"><a href="heart.html#set_cmd-1">set_cmd/1</a></li> <li title="set_options-1"><a href="heart.html#set_options-1">set_options/1</a></li> </ul> </li> <li id="no" title="inet " expanded="false">inet<ul> <li><a href="inet.html"> Top of manual page </a></li> <li title="close-1"><a href="inet.html#close-1">close/1</a></li> <li title="format_error-1"><a href="inet.html#format_error-1">format_error/1</a></li> <li title="get_rc-0"><a href="inet.html#get_rc-0">get_rc/0</a></li> <li title="getaddr-2"><a href="inet.html#getaddr-2">getaddr/2</a></li> <li title="getaddrs-2"><a href="inet.html#getaddrs-2">getaddrs/2</a></li> <li title="gethostbyaddr-1"><a href="inet.html#gethostbyaddr-1">gethostbyaddr/1</a></li> <li title="gethostbyname-1"><a href="inet.html#gethostbyname-1">gethostbyname/1</a></li> <li title="gethostbyname-2"><a href="inet.html#gethostbyname-2">gethostbyname/2</a></li> <li title="gethostname-0"><a href="inet.html#gethostname-0">gethostname/0</a></li> <li title="getifaddrs-0"><a href="inet.html#getifaddrs-0">getifaddrs/0</a></li> <li title="getifaddrs-1"><a href="inet.html#getifaddrs-1">getifaddrs/1</a></li> <li title="getopts-2"><a href="inet.html#getopts-2">getopts/2</a></li> <li title="getstat-1"><a href="inet.html#getstat-1">getstat/1</a></li> <li title="getstat-2"><a href="inet.html#getstat-2">getstat/2</a></li> <li title="i-0"><a href="inet.html#i-0">i/0</a></li> <li title="i-1"><a href="inet.html#i-1">i/1</a></li> <li title="i-2"><a href="inet.html#i-2">i/2</a></li> <li title="ipv4_mapped_ipv6_address-1"><a href="inet.html#ipv4_mapped_ipv6_address-1">ipv4_mapped_ipv6_address/1</a></li> <li title="ntoa-1"><a href="inet.html#ntoa-1">ntoa/1</a></li> <li title="parse_address-1"><a href="inet.html#parse_address-1">parse_address/1</a></li> <li title="parse_ipv4_address-1"><a href="inet.html#parse_ipv4_address-1">parse_ipv4_address/1</a></li> <li title="parse_ipv4strict_address-1"><a href="inet.html#parse_ipv4strict_address-1">parse_ipv4strict_address/1</a></li> <li title="parse_ipv6_address-1"><a href="inet.html#parse_ipv6_address-1">parse_ipv6_address/1</a></li> <li title="parse_ipv6strict_address-1"><a href="inet.html#parse_ipv6strict_address-1">parse_ipv6strict_address/1</a></li> <li title="parse_strict_address-1"><a href="inet.html#parse_strict_address-1">parse_strict_address/1</a></li> <li title="peername-1"><a href="inet.html#peername-1">peername/1</a></li> <li title="peernames-1"><a href="inet.html#peernames-1">peernames/1</a></li> <li title="peernames-2"><a href="inet.html#peernames-2">peernames/2</a></li> <li title="port-1"><a href="inet.html#port-1">port/1</a></li> <li title="setopts-2"><a href="inet.html#setopts-2">setopts/2</a></li> <li title="sockname-1"><a href="inet.html#sockname-1">sockname/1</a></li> <li title="socknames-1"><a href="inet.html#socknames-1">socknames/1</a></li> <li title="socknames-2"><a href="inet.html#socknames-2">socknames/2</a></li> </ul> </li> <li id="no" title="inet_res " expanded="false">inet_res<ul> <li><a href="inet_res.html"> Top of manual page </a></li> <li title="getbyname-2"><a href="inet_res.html#getbyname-2">getbyname/2</a></li> <li title="getbyname-3"><a href="inet_res.html#getbyname-3">getbyname/3</a></li> <li title="gethostbyaddr-1"><a href="inet_res.html#gethostbyaddr-1">gethostbyaddr/1</a></li> <li title="gethostbyaddr-2"><a href="inet_res.html#gethostbyaddr-2">gethostbyaddr/2</a></li> <li title="gethostbyname-1"><a href="inet_res.html#gethostbyname-1">gethostbyname/1</a></li> <li title="gethostbyname-2"><a href="inet_res.html#gethostbyname-2">gethostbyname/2</a></li> <li title="gethostbyname-3"><a href="inet_res.html#gethostbyname-3">gethostbyname/3</a></li> <li title="lookup-3"><a href="inet_res.html#lookup-3">lookup/3</a></li> <li title="lookup-4"><a href="inet_res.html#lookup-4">lookup/4</a></li> <li title="lookup-5"><a href="inet_res.html#lookup-5">lookup/5</a></li> <li title="nnslookup-4"><a href="inet_res.html#nnslookup-4">nnslookup/4</a></li> <li title="nnslookup-5"><a href="inet_res.html#nnslookup-5">nnslookup/5</a></li> <li title="nslookup-3"><a href="inet_res.html#nslookup-3">nslookup/3</a></li> <li title="nslookup-4"><a href="inet_res.html#nslookup-4">nslookup/4</a></li> <li title="resolve-3"><a href="inet_res.html#resolve-3">resolve/3</a></li> <li title="resolve-4"><a href="inet_res.html#resolve-4">resolve/4</a></li> <li title="resolve-5"><a href="inet_res.html#resolve-5">resolve/5</a></li> </ul> </li> <li title="init"><a href="init.html">init</a></li> <li id="no" title="logger " expanded="false">logger<ul> <li><a href="logger.html"> Top of manual page </a></li> <li title="add_handler-3"><a href="logger.html#add_handler-3">add_handler/3</a></li> <li title="add_handler_filter-3"><a href="logger.html#add_handler_filter-3">add_handler_filter/3</a></li> <li title="add_handlers-1"><a href="logger.html#add_handlers-1">add_handlers/1</a></li> <li title="add_primary_filter-2"><a href="logger.html#add_primary_filter-2">add_primary_filter/2</a></li> <li title="alert-1"><a href="logger.html#alert-1">alert/1</a></li> <li title="alert-2"><a href="logger.html#alert-2">alert/2</a></li> <li title="alert-2"><a href="logger.html#alert-2">alert/2</a></li> <li title="compare_levels-2"><a href="logger.html#compare_levels-2">compare_levels/2</a></li> <li title="critical-1"><a href="logger.html#critical-1">critical/1</a></li> <li title="critical-2"><a href="logger.html#critical-2">critical/2</a></li> <li title="critical-2"><a href="logger.html#critical-2">critical/2</a></li> <li title="debug-1"><a href="logger.html#debug-1">debug/1</a></li> <li title="debug-2"><a href="logger.html#debug-2">debug/2</a></li> <li title="debug-2"><a href="logger.html#debug-2">debug/2</a></li> <li title="emergency-1"><a href="logger.html#emergency-1">emergency/1</a></li> <li title="emergency-2"><a href="logger.html#emergency-2">emergency/2</a></li> <li title="emergency-2"><a href="logger.html#emergency-2">emergency/2</a></li> <li title="error-1"><a href="logger.html#error-1">error/1</a></li> <li title="error-2"><a href="logger.html#error-2">error/2</a></li> <li title="error-2"><a href="logger.html#error-2">error/2</a></li> <li title="format_report-1"><a href="logger.html#format_report-1">format_report/1</a></li> <li title="get_config-0"><a href="logger.html#get_config-0">get_config/0</a></li> <li title="get_handler_config-0"><a href="logger.html#get_handler_config-0">get_handler_config/0</a></li> <li title="get_handler_config-1"><a href="logger.html#get_handler_config-1">get_handler_config/1</a></li> <li title="get_handler_ids-0"><a href="logger.html#get_handler_ids-0">get_handler_ids/0</a></li> <li title="get_module_level-0"><a href="logger.html#get_module_level-0">get_module_level/0</a></li> <li title="get_module_level-1"><a href="logger.html#get_module_level-1">get_module_level/1</a></li> <li title="get_primary_config-0"><a href="logger.html#get_primary_config-0">get_primary_config/0</a></li> <li title="get_process_metadata-0"><a href="logger.html#get_process_metadata-0">get_process_metadata/0</a></li> <li title="info-1"><a href="logger.html#info-1">info/1</a></li> <li title="info-2"><a href="logger.html#info-2">info/2</a></li> <li title="info-2"><a href="logger.html#info-2">info/2</a></li> <li title="log-2"><a href="logger.html#log-2">log/2</a></li> <li title="log-3"><a href="logger.html#log-3">log/3</a></li> <li title="log-4"><a href="logger.html#log-4">log/4</a></li> <li title="notice-1"><a href="logger.html#notice-1">notice/1</a></li> <li title="notice-2"><a href="logger.html#notice-2">notice/2</a></li> <li title="notice-2"><a href="logger.html#notice-2">notice/2</a></li> <li title="remove_handler-1"><a href="logger.html#remove_handler-1">remove_handler/1</a></li> <li title="remove_handler_filter-2"><a href="logger.html#remove_handler_filter-2">remove_handler_filter/2</a></li> <li title="remove_primary_filter-1"><a href="logger.html#remove_primary_filter-1">remove_primary_filter/1</a></li> <li title="set_application_level-2"><a href="logger.html#set_application_level-2">set_application_level/2</a></li> <li title="set_handler_config-2"><a href="logger.html#set_handler_config-2">set_handler_config/2</a></li> <li title="set_handler_config-3"><a href="logger.html#set_handler_config-3">set_handler_config/3</a></li> <li title="set_module_level-2"><a href="logger.html#set_module_level-2">set_module_level/2</a></li> <li title="set_primary_config-1"><a href="logger.html#set_primary_config-1">set_primary_config/1</a></li> <li title="set_primary_config-2"><a href="logger.html#set_primary_config-2">set_primary_config/2</a></li> <li title="set_process_metadata-1"><a href="logger.html#set_process_metadata-1">set_process_metadata/1</a></li> <li title="unset_application_level-1"><a href="logger.html#unset_application_level-1">unset_application_level/1</a></li> <li title="unset_module_level-0"><a href="logger.html#unset_module_level-0">unset_module_level/0</a></li> <li title="unset_module_level-1"><a href="logger.html#unset_module_level-1">unset_module_level/1</a></li> <li title="unset_process_metadata-0"><a href="logger.html#unset_process_metadata-0">unset_process_metadata/0</a></li> <li title="update_formatter_config-2"><a href="logger.html#update_formatter_config-2">update_formatter_config/2</a></li> <li title="update_formatter_config-3"><a href="logger.html#update_formatter_config-3">update_formatter_config/3</a></li> <li title="update_handler_config-2"><a href="logger.html#update_handler_config-2">update_handler_config/2</a></li> <li title="update_handler_config-3"><a href="logger.html#update_handler_config-3">update_handler_config/3</a></li> <li title="update_primary_config-1"><a href="logger.html#update_primary_config-1">update_primary_config/1</a></li> <li title="update_process_metadata-1"><a href="logger.html#update_process_metadata-1">update_process_metadata/1</a></li> <li title="warning-1"><a href="logger.html#warning-1">warning/1</a></li> <li title="warning-2"><a href="logger.html#warning-2">warning/2</a></li> <li title="warning-2"><a href="logger.html#warning-2">warning/2</a></li> <li title="FModule:check_config-1"><a href="logger.html#FModule:check_config-1">FModule:check_config/1</a></li> <li title="FModule:format-2"><a href="logger.html#FModule:format-2">FModule:format/2</a></li> <li title="HModule:adding_handler-1"><a href="logger.html#HModule:adding_handler-1">HModule:adding_handler/1</a></li> <li title="HModule:changing_config-3"><a href="logger.html#HModule:changing_config-3">HModule:changing_config/3</a></li> <li title="HModule:filter_config-1"><a href="logger.html#HModule:filter_config-1">HModule:filter_config/1</a></li> <li title="HModule:log-2"><a href="logger.html#HModule:log-2">HModule:log/2</a></li> <li title="HModule:removing_handler-1"><a href="logger.html#HModule:removing_handler-1">HModule:removing_handler/1</a></li> </ul> </li> <li id="no" title="logger_filters " expanded="false">logger_filters<ul> <li><a href="logger_filters.html"> Top of manual page </a></li> <li title="domain-2"><a href="logger_filters.html#domain-2">domain/2</a></li> <li title="level-2"><a href="logger_filters.html#level-2">level/2</a></li> <li title="progress-2"><a href="logger_filters.html#progress-2">progress/2</a></li> <li title="remote_gl-2"><a href="logger_filters.html#remote_gl-2">remote_gl/2</a></li> </ul> </li> <li id="no" title="logger_formatter " expanded="false">logger_formatter<ul> <li><a href="logger_formatter.html"> Top of manual page </a></li> <li title="check_config-1"><a href="logger_formatter.html#check_config-1">check_config/1</a></li> <li title="format-2"><a href="logger_formatter.html#format-2">format/2</a></li> </ul> </li> <li id="no" title="logger_std_h " expanded="false">logger_std_h<ul> <li><a href="logger_std_h.html"> Top of manual page </a></li> <li title="filesync-1"><a href="logger_std_h.html#filesync-1">filesync/1</a></li> </ul> </li> <li id="no" title="logger_disk_log_h " expanded="false">logger_disk_log_h<ul> <li><a href="logger_disk_log_h.html"> Top of manual page </a></li> <li title="filesync-1"><a href="logger_disk_log_h.html#filesync-1">filesync/1</a></li> </ul> </li> <li id="no" title="net_adm " expanded="false">net_adm<ul> <li><a href="net_adm.html"> Top of manual page </a></li> <li title="dns_hostname-1"><a href="net_adm.html#dns_hostname-1">dns_hostname/1</a></li> <li title="host_file-0"><a href="net_adm.html#host_file-0">host_file/0</a></li> <li title="localhost-0"><a href="net_adm.html#localhost-0">localhost/0</a></li> <li title="names-0"><a href="net_adm.html#names-0">names/0</a></li> <li title="names-1"><a href="net_adm.html#names-1">names/1</a></li> <li title="ping-1"><a href="net_adm.html#ping-1">ping/1</a></li> <li title="world-0"><a href="net_adm.html#world-0">world/0</a></li> <li title="world-1"><a href="net_adm.html#world-1">world/1</a></li> <li title="world_list-1"><a href="net_adm.html#world_list-1">world_list/1</a></li> <li title="world_list-2"><a href="net_adm.html#world_list-2">world_list/2</a></li> </ul> </li> <li id="no" title="net_kernel " expanded="false">net_kernel<ul> <li><a href="net_kernel.html"> Top of manual page </a></li> <li title="allow-1"><a href="net_kernel.html#allow-1">allow/1</a></li> <li title="connect_node-1"><a href="net_kernel.html#connect_node-1">connect_node/1</a></li> <li title="get_net_ticktime-0"><a href="net_kernel.html#get_net_ticktime-0">get_net_ticktime/0</a></li> <li title="getopts-2"><a href="net_kernel.html#getopts-2">getopts/2</a></li> <li title="monitor_nodes-1"><a href="net_kernel.html#monitor_nodes-1">monitor_nodes/1</a></li> <li title="monitor_nodes-2"><a href="net_kernel.html#monitor_nodes-2">monitor_nodes/2</a></li> <li title="set_net_ticktime-1"><a href="net_kernel.html#set_net_ticktime-1">set_net_ticktime/1</a></li> <li title="set_net_ticktime-2"><a href="net_kernel.html#set_net_ticktime-2">set_net_ticktime/2</a></li> <li title="setopts-2"><a href="net_kernel.html#setopts-2">setopts/2</a></li> <li title="start-1"><a href="net_kernel.html#start-1">start/1</a></li> <li title="start-1"><a href="net_kernel.html#start-1">start/1</a></li> <li title="start-1"><a href="net_kernel.html#start-1">start/1</a></li> <li title="stop-0"><a href="net_kernel.html#stop-0">stop/0</a></li> </ul> </li> <li id="no" title="os " expanded="false">os<ul> <li><a href="os.html"> Top of manual page </a></li> <li title="cmd-1"><a href="os.html#cmd-1">cmd/1</a></li> <li title="cmd-2"><a href="os.html#cmd-2">cmd/2</a></li> <li title="find_executable-1"><a href="os.html#find_executable-1">find_executable/1</a></li> <li title="find_executable-2"><a href="os.html#find_executable-2">find_executable/2</a></li> <li title="getenv-0"><a href="os.html#getenv-0">getenv/0</a></li> <li title="getenv-1"><a href="os.html#getenv-1">getenv/1</a></li> <li title="getenv-2"><a href="os.html#getenv-2">getenv/2</a></li> <li title="getpid-0"><a href="os.html#getpid-0">getpid/0</a></li> <li title="perf_counter-0"><a href="os.html#perf_counter-0">perf_counter/0</a></li> <li title="perf_counter-1"><a href="os.html#perf_counter-1">perf_counter/1</a></li> <li title="putenv-2"><a href="os.html#putenv-2">putenv/2</a></li> <li title="set_signal-2"><a href="os.html#set_signal-2">set_signal/2</a></li> <li title="system_time-0"><a href="os.html#system_time-0">system_time/0</a></li> <li title="system_time-1"><a href="os.html#system_time-1">system_time/1</a></li> <li title="timestamp-0"><a href="os.html#timestamp-0">timestamp/0</a></li> <li title="type-0"><a href="os.html#type-0">type/0</a></li> <li title="unsetenv-1"><a href="os.html#unsetenv-1">unsetenv/1</a></li> <li title="version-0"><a href="os.html#version-0">version/0</a></li> </ul> </li> <li id="no" title="pg2 " expanded="false">pg2<ul> <li><a href="pg2.html"> Top of manual page </a></li> <li title="create-1"><a href="pg2.html#create-1">create/1</a></li> <li title="delete-1"><a href="pg2.html#delete-1">delete/1</a></li> <li title="get_closest_pid-1"><a href="pg2.html#get_closest_pid-1">get_closest_pid/1</a></li> <li title="get_local_members-1"><a href="pg2.html#get_local_members-1">get_local_members/1</a></li> <li title="get_members-1"><a href="pg2.html#get_members-1">get_members/1</a></li> <li title="join-2"><a href="pg2.html#join-2">join/2</a></li> <li title="leave-2"><a href="pg2.html#leave-2">leave/2</a></li> <li title="start-0"><a href="pg2.html#start-0">start/0</a></li> <li title="start_link-0"><a href="pg2.html#start_link-0">start_link/0</a></li> <li title="which_groups-0"><a href="pg2.html#which_groups-0">which_groups/0</a></li> </ul> </li> <li id="no" title="rpc " expanded="false">rpc<ul> <li><a href="rpc.html"> Top of manual page </a></li> <li title="abcast-2"><a href="rpc.html#abcast-2">abcast/2</a></li> <li title="abcast-3"><a href="rpc.html#abcast-3">abcast/3</a></li> <li title="async_call-4"><a href="rpc.html#async_call-4">async_call/4</a></li> <li title="block_call-4"><a href="rpc.html#block_call-4">block_call/4</a></li> <li title="block_call-5"><a href="rpc.html#block_call-5">block_call/5</a></li> <li title="call-4"><a href="rpc.html#call-4">call/4</a></li> <li title="call-5"><a href="rpc.html#call-5">call/5</a></li> <li title="cast-4"><a href="rpc.html#cast-4">cast/4</a></li> <li title="eval_everywhere-3"><a href="rpc.html#eval_everywhere-3">eval_everywhere/3</a></li> <li title="eval_everywhere-4"><a href="rpc.html#eval_everywhere-4">eval_everywhere/4</a></li> <li title="multi_server_call-2"><a href="rpc.html#multi_server_call-2">multi_server_call/2</a></li> <li title="multi_server_call-3"><a href="rpc.html#multi_server_call-3">multi_server_call/3</a></li> <li title="multicall-3"><a href="rpc.html#multicall-3">multicall/3</a></li> <li title="multicall-4"><a href="rpc.html#multicall-4">multicall/4</a></li> <li title="multicall-5"><a href="rpc.html#multicall-5">multicall/5</a></li> <li title="nb_yield-1"><a href="rpc.html#nb_yield-1">nb_yield/1</a></li> <li title="nb_yield-2"><a href="rpc.html#nb_yield-2">nb_yield/2</a></li> <li title="parallel_eval-1"><a href="rpc.html#parallel_eval-1">parallel_eval/1</a></li> <li title="pinfo-1"><a href="rpc.html#pinfo-1">pinfo/1</a></li> <li title="pinfo-2"><a href="rpc.html#pinfo-2">pinfo/2</a></li> <li title="pmap-3"><a href="rpc.html#pmap-3">pmap/3</a></li> <li title="sbcast-2"><a href="rpc.html#sbcast-2">sbcast/2</a></li> <li title="sbcast-3"><a href="rpc.html#sbcast-3">sbcast/3</a></li> <li title="server_call-4"><a href="rpc.html#server_call-4">server_call/4</a></li> <li title="yield-1"><a href="rpc.html#yield-1">yield/1</a></li> </ul> </li> <li id="no" title="seq_trace " expanded="false">seq_trace<ul> <li><a href="seq_trace.html"> Top of manual page </a></li> <li title="get_system_tracer-0"><a href="seq_trace.html#get_system_tracer-0">get_system_tracer/0</a></li> <li title="get_token-0"><a href="seq_trace.html#get_token-0">get_token/0</a></li> <li title="get_token-1"><a href="seq_trace.html#get_token-1">get_token/1</a></li> <li title="print-1"><a href="seq_trace.html#print-1">print/1</a></li> <li title="print-2"><a href="seq_trace.html#print-2">print/2</a></li> <li title="reset_trace-0"><a href="seq_trace.html#reset_trace-0">reset_trace/0</a></li> <li title="set_system_tracer-1"><a href="seq_trace.html#set_system_tracer-1">set_system_tracer/1</a></li> <li title="set_token-1"><a href="seq_trace.html#set_token-1">set_token/1</a></li> <li title="set_token-2"><a href="seq_trace.html#set_token-2">set_token/2</a></li> </ul> </li> <li title="user"><a href="user.html">user</a></li> <li id="no" title="wrap_log_reader " expanded="false">wrap_log_reader<ul> <li><a href="wrap_log_reader.html"> Top of manual page </a></li> <li title="chunk-1"><a href="wrap_log_reader.html#chunk-1">chunk/1</a></li> <li title="chunk-2"><a href="wrap_log_reader.html#chunk-2">chunk/2</a></li> <li title="close-1"><a href="wrap_log_reader.html#close-1">close/1</a></li> <li title="open-1"><a href="wrap_log_reader.html#open-1">open/1</a></li> <li title="open-2"><a href="wrap_log_reader.html#open-2">open/2</a></li> </ul> </li> <li title="zlib"><a href="zlib.html">zlib</a></li> </ul> </div></div> <div id="content"> <div class="innertube"> <!-- refpage --><center><h1>heart</h1></center> <h3><span onMouseOver="document.getElementById('ghlink-module-idm281473454651928').style.visibility = 'visible';" onMouseOut="document.getElementById('ghlink-module-idm281473454651928').style.visibility = 'hidden';"><span id="ghlink-module-idm281473454651928"></span><a class="title_link" name="module" href="#module">Module</a></span></h3> <div class="REFBODY module-body">heart</div> <h3><span onMouseOver="document.getElementById('ghlink-module-summary-idm281473454651480').style.visibility = 'visible';" onMouseOut="document.getElementById('ghlink-module-summary-idm281473454651480').style.visibility = 'hidden';"><span id="ghlink-module-summary-idm281473454651480"></span><a class="title_link" name="module-summary" href="#module-summary">Module Summary</a></span></h3> <div class="REFBODY module-summary-body">Heartbeat monitoring of an Erlang runtime system.</div> <h3><span onMouseOver="document.getElementById('ghlink-description-idm281473454651000').style.visibility = 'visible';" onMouseOut="document.getElementById('ghlink-description-idm281473454651000').style.visibility = 'hidden';"><span id="ghlink-description-idm281473454651000" class="ghlink"><a href="https://github.com/erlang/otp/edit/maint/lib/kernel/doc/src/heart.xml#L33" title="Found an issue with the documentation? Fix it by clicking here!"><span class="pencil"></span></a></span><a class="title_link" name="description" href="#description">Description</a></span></h3> <div class="REFBODY description-body"><p> <p>This modules contains the interface to the <span class="code">heart</span> process. <span class="code">heart</span> sends periodic heartbeats to an external port program, which is also named <span class="code">heart</span>. The purpose of the <span class="code">heart</span> port program is to check that the Erlang runtime system it is supervising is still running. If the port program has not received any heartbeats within <span class="code">HEART_BEAT_TIMEOUT</span> seconds (defaults to 60 seconds), the system can be rebooted.</p> <p>An Erlang runtime system to be monitored by a heart program is to be started with command-line flag <span class="code">-heart</span> (see also <span class="bold_code bc-18"><a href="javascript:erlhref('../../../../doc/../','erts','erl.html');"><span class="code">erl(1)</span></a></span>). The <span class="code">heart</span> process is then started automatically:</p> <div class="example"><pre> % <span class="bold_code bc-12">erl -heart ...</span></pre></div> <p>If the system is to be rebooted because of missing heartbeats, or a terminated Erlang runtime system, environment variable <span class="code">HEART_COMMAND</span> must be set before the system is started. If this variable is not set, a warning text is printed but the system does not reboot.</p> <p>To reboot on Windows, <span class="code">HEART_COMMAND</span> can be set to <span class="code">heart -shutdown</span> (included in the Erlang delivery) or to any other suitable program that can activate a reboot.</p> <p>The environment variable <span class="code">HEART_BEAT_TIMEOUT</span> can be used to configure the heart time-outs; it can be set in the operating system shell before Erlang is started or be specified at the command line:</p> <div class="example"><pre> % <span class="bold_code bc-12">erl -heart -env HEART_BEAT_TIMEOUT 30 ...</span></pre></div> <p>The value (in seconds) must be in the range 10 < X <= 65535.</p> <p>When running on OSs lacking support for monotonic time, <span class="code">heart</span> is susceptible to system clock adjustments of more than <span class="code">HEART_BEAT_TIMEOUT</span> seconds. When this happens, <span class="code">heart</span> times out and tries to reboot the system. This can occur, for example, if the system clock is adjusted automatically by use of the Network Time Protocol (NTP).</p> <p>If a crash occurs, an <span class="code">erl_crash.dump</span> is <strong>not</strong> written unless environment variable <span class="code">ERL_CRASH_DUMP_SECONDS</span> is set:</p> <div class="example"><pre> % <span class="bold_code bc-12">erl -heart -env ERL_CRASH_DUMP_SECONDS 10 ...</span></pre></div> <p>If a regular core dump is wanted, let <span class="code">heart</span> know by setting the kill signal to abort using environment variable <span class="code">HEART_KILL_SIGNAL=SIGABRT</span>. If unset, or not set to <span class="code">SIGABRT</span>, the default behavior is a kill signal using <span class="code">SIGKILL</span>:</p> <div class="example"><pre> % <span class="bold_code bc-12">erl -heart -env HEART_KILL_SIGNAL SIGABRT ...</span></pre></div> <p> If heart should <strong>not</strong> kill the Erlang runtime system, this can be indicated using the environment variable <span class="code">HEART_NO_KILL=TRUE</span>. This can be useful if the command executed by heart takes care of this, for example as part of a specific cleanup sequence. If unset, or not set to <span class="code">TRUE</span>, the default behaviour will be to kill as described above. </p> <div class="example"><pre> % <span class="bold_code bc-12">erl -heart -env HEART_NO_KILL 1 ...</span></pre></div> <p>Furthermore, <span class="code">ERL_CRASH_DUMP_SECONDS</span> has the following behavior on <span class="code">heart</span>:</p> <dl> <dt><strong><span class="code">ERL_CRASH_DUMP_SECONDS=0</span></strong></dt> <dd> <p>Suppresses the writing of a crash dump file entirely, thus rebooting the runtime system immediately. This is the same as not setting the environment variable.</p> </dd> <dt><strong><span class="code">ERL_CRASH_DUMP_SECONDS=-1</span></strong></dt> <dd> <p>Setting the environment variable to a negative value does not reboot the runtime system until the crash dump file is completly written.</p> </dd> <dt><strong><span class="code">ERL_CRASH_DUMP_SECONDS=S</span></strong></dt> <dd> <p><span class="code">heart</span> waits for <span class="code">S</span> seconds to let the crash dump file be written. After <span class="code">S</span> seconds, <span class="code">heart</span> reboots the runtime system, whether the crash dump file is written or not.</p> </dd> </dl> <p>In the following descriptions, all functions fail with reason <span class="code">badarg</span> if <span class="code">heart</span> is not started.</p> </p></div> <h3><span onMouseOver="document.getElementById('ghlink-data-types-idm281473454619480').style.visibility = 'visible';" onMouseOut="document.getElementById('ghlink-data-types-idm281473454619480').style.visibility = 'hidden';"><span id="ghlink-data-types-idm281473454619480"></span><a class="title_link" name="data-types" href="#data-types">Data Types</a></span></h3> <div class="data-types-body"> <div class="data-type-name" onMouseOver="document.getElementById('ghlink-type-heart_option').style.visibility = 'visible';" onMouseOut="document.getElementById('ghlink-type-heart_option').style.visibility = 'hidden';"> <span id="ghlink-type-heart_option" class="ghlink"><a href="https://github.com/erlang/otp/edit/maint/lib/kernel/doc/src/heart.xml#L115" title="Found an issue with the documentation? Fix it by clicking here!"><span class="pencil"></span></a></span> <span class="bold_code bc-4"><a name="type-heart_option">heart_option()</a> = check_schedulers</span><br> </div> <div class="data-type-desc"></div> </div> <h3><span onMouseOver="document.getElementById('ghlink-exports-idm281473454617736').style.visibility = 'visible';" onMouseOut="document.getElementById('ghlink-exports-idm281473454617736').style.visibility = 'hidden';"><span id="ghlink-exports-idm281473454617736"></span><a class="title_link" name="exports" href="#exports">Exports</a></span></h3> <div class="exports-body"> <p><a name="set_cmd-1"></a><div class="bold_code func-head" onMouseOver="document.getElementById('ghlink-set_cmd-1-idm281473447586072').style.visibility = 'visible';" onMouseOut="document.getElementById('ghlink-set_cmd-1-idm281473447586072').style.visibility = 'hidden';"> <span id="ghlink-set_cmd-1-idm281473447586072" class="ghlink"><a href="https://github.com/erlang/otp/edit/maint/lib/kernel/doc/src/heart.xml#L121" title="Found an issue with the documentation? Fix it by clicking here!"><span class="pencil"></span></a></span>set_cmd(Cmd) -> ok | {error, {bad_cmd, Cmd}}</div><div class="REFBODY fun-types"> <h3 class="func-types-title">Types</h3> <div class="REFTYPES rt-1"><span class="bold_code bc-2">Cmd = string()</span></div> </div></p> <div class="REFBODY rb-7"><p> <p>Sets a temporary reboot command. This command is used if a <span class="code">HEART_COMMAND</span> other than the one specified with the environment variable is to be used to reboot the system. The new Erlang runtime system uses (if it misbehaves) environment variable <span class="code">HEART_COMMAND</span> to reboot.</p> <p>Limitations: Command string <span class="code">Cmd</span> is sent to the <span class="code">heart</span> program as an ISO Latin-1 or UTF-8 encoded binary, depending on the filename encoding mode of the emulator (see <span class="bold_code bc-13"><a href="javascript:erlhref('../../../../doc/../','kernel','file.html#native_name_encoding-0');"><span class="code">file:native_name_encoding/0</span></a></span>). The size of the encoded binary must be less than 2047 bytes.</p> </p></div> <p><a name="clear_cmd-0"></a><div class="bold_code func-head" onMouseOver="document.getElementById('ghlink-clear_cmd-0-idm281473446908520').style.visibility = 'visible';" onMouseOut="document.getElementById('ghlink-clear_cmd-0-idm281473446908520').style.visibility = 'hidden';"> <span id="ghlink-clear_cmd-0-idm281473446908520" class="ghlink"><a href="https://github.com/erlang/otp/edit/maint/lib/kernel/doc/src/heart.xml#L138" title="Found an issue with the documentation? Fix it by clicking here!"><span class="pencil"></span></a></span>clear_cmd() -> ok</div></p> <div class="REFBODY rb-7"><p> <p>Clears the temporary boot command. If the system terminates, the normal <span class="code">HEART_COMMAND</span> is used to reboot.</p> </p></div> <p><a name="get_cmd-0"></a><div class="bold_code func-head" onMouseOver="document.getElementById('ghlink-get_cmd-0-idm281473448451544').style.visibility = 'visible';" onMouseOut="document.getElementById('ghlink-get_cmd-0-idm281473448451544').style.visibility = 'hidden';"> <span id="ghlink-get_cmd-0-idm281473448451544" class="ghlink"><a href="https://github.com/erlang/otp/edit/maint/lib/kernel/doc/src/heart.xml#L147" title="Found an issue with the documentation? Fix it by clicking here!"><span class="pencil"></span></a></span>get_cmd() -> {ok, Cmd}</div><div class="REFBODY fun-types"> <h3 class="func-types-title">Types</h3> <div class="REFTYPES rt-1"><span class="bold_code bc-2">Cmd = string()</span></div> </div></p> <div class="REFBODY rb-7"><p> <p>Gets the temporary reboot command. If the command is cleared, the empty string is returned.</p> </p></div> <p><a name="set_callback-2"></a><div class="bold_code func-head" onMouseOver="document.getElementById('ghlink-set_callback-2-idm281473448450648').style.visibility = 'visible';" onMouseOut="document.getElementById('ghlink-set_callback-2-idm281473448450648').style.visibility = 'hidden';"> <span id="ghlink-set_callback-2-idm281473448450648" class="ghlink"><a href="https://github.com/erlang/otp/edit/maint/lib/kernel/doc/src/heart.xml#L156" title="Found an issue with the documentation? Fix it by clicking here!"><span class="pencil"></span></a></span>set_callback(Module, Function) -><br> ok | {error, {bad_callback, {Module, Function}}}</div><div class="REFBODY fun-types"> <h3 class="func-types-title">Types</h3> <div class="REFTYPES rt-1"><span class="bold_code bc-2">Module = Function = atom()</span></div> <div class="REFTYPES rt-1"><span class="bold_code bc-2"></span></div> </div></p> <div class="REFBODY rb-7"><p> <p> This validation callback will be executed before any heartbeat is sent to the port program. For the validation to succeed it needs to return with the value <span class="code">ok</span>. </p> <p>An exception within the callback will be treated as a validation failure.</p> <p>The callback will be removed if the system reboots.</p> </p></div> <p><a name="clear_callback-0"></a><div class="bold_code func-head" onMouseOver="document.getElementById('ghlink-clear_callback-0-idm281473447481848').style.visibility = 'visible';" onMouseOut="document.getElementById('ghlink-clear_callback-0-idm281473447481848').style.visibility = 'hidden';"> <span id="ghlink-clear_callback-0-idm281473447481848" class="ghlink"><a href="https://github.com/erlang/otp/edit/maint/lib/kernel/doc/src/heart.xml#L168" title="Found an issue with the documentation? Fix it by clicking here!"><span class="pencil"></span></a></span>clear_callback() -> ok</div></p> <div class="REFBODY rb-7"><p> <p>Removes the validation callback call before heartbeats.</p> </p></div> <p><a name="get_callback-0"></a><div class="bold_code func-head" onMouseOver="document.getElementById('ghlink-get_callback-0-idm281473448794664').style.visibility = 'visible';" onMouseOut="document.getElementById('ghlink-get_callback-0-idm281473448794664').style.visibility = 'hidden';"> <span id="ghlink-get_callback-0-idm281473448794664" class="ghlink"><a href="https://github.com/erlang/otp/edit/maint/lib/kernel/doc/src/heart.xml#L175" title="Found an issue with the documentation? Fix it by clicking here!"><span class="pencil"></span></a></span>get_callback() -> {ok, {Module, Function}} | none</div><div class="REFBODY fun-types"> <h3 class="func-types-title">Types</h3> <div class="REFTYPES rt-1"><span class="bold_code bc-2">Module = Function = atom()</span></div> <div class="REFTYPES rt-1"><span class="bold_code bc-2"></span></div> </div></p> <div class="REFBODY rb-7"><p> <p>Get the validation callback. If the callback is cleared, <span class="code">none</span> will be returned.</p> </p></div> <p><a name="set_options-1"></a><div class="bold_code func-head" onMouseOver="document.getElementById('ghlink-set_options-1-idm281473447447048').style.visibility = 'visible';" onMouseOut="document.getElementById('ghlink-set_options-1-idm281473447447048').style.visibility = 'hidden';"> <span id="ghlink-set_options-1-idm281473447447048" class="ghlink"><a href="https://github.com/erlang/otp/edit/maint/lib/kernel/doc/src/heart.xml#L183" title="Found an issue with the documentation? Fix it by clicking here!"><span class="pencil"></span></a></span>set_options(Options) -> ok | {error, {bad_options, Options}}</div><div class="REFBODY fun-types"> <h3 class="func-types-title">Types</h3> <div class="REFTYPES rt-1"><span class="bold_code bc-2">Options = [<span class="bold_code bc-17"><a href="#type-heart_option">heart_option()</a></span>]</span></div> </div></p> <div class="REFBODY rb-7"><p> <p> Valid options <span class="code">set_options</span> are: </p> <dl> <dt><strong><span class="code">check_schedulers</span></strong></dt> <dd> <p>If enabled, a signal will be sent to each scheduler to check its responsiveness. The system check occurs before any heartbeat sent to the port program. If any scheduler is not responsive enough the heart program will not receive its heartbeat and thus eventually terminate the node. </p> </dd> </dl> <p> Returns with the value <span class="code">ok</span> if the options are valid.</p> </p></div> <p><a name="get_options-0"></a><div class="bold_code func-head" onMouseOver="document.getElementById('ghlink-get_options-0-idm281473447574712').style.visibility = 'visible';" onMouseOut="document.getElementById('ghlink-get_options-0-idm281473447574712').style.visibility = 'hidden';"> <span id="ghlink-get_options-0-idm281473447574712" class="ghlink"><a href="https://github.com/erlang/otp/edit/maint/lib/kernel/doc/src/heart.xml#L201" title="Found an issue with the documentation? Fix it by clicking here!"><span class="pencil"></span></a></span>get_options() -> {ok, Options} | none</div><div class="REFBODY fun-types"> <h3 class="func-types-title">Types</h3> <div class="REFTYPES rt-1"><span class="bold_code bc-2">Options = [atom()]</span></div> </div></p> <div class="REFBODY rb-7"><p> <p>Returns <span class="code">{ok, Options}</span> where <span class="code">Options</span> is a list of current options enabled for heart. If the callback is cleared, <span class="code">none</span> will be returned.</p> </p></div> </div> </div> <div class="footer"> <hr> <p>Copyright © 1997-2019 Ericsson AB. All Rights Reserved.</p> </div> </div> </div> <script type="text/javascript">window.__otpTopDocDir = '../../../../doc/js/';</script><script type="text/javascript" src="../../../../doc/js/highlight.js"></script> </body> </html>