diff options
-rw-r--r-- | erts/emulator/sys/unix/sys_time.c | 16 | ||||
-rw-r--r-- | lib/inets/doc/src/mod_esi.xml | 155 | ||||
-rw-r--r-- | lib/public_key/doc/src/public_key.xml | 1 |
3 files changed, 88 insertions, 84 deletions
diff --git a/erts/emulator/sys/unix/sys_time.c b/erts/emulator/sys/unix/sys_time.c index 60f8decd96..4f26639703 100644 --- a/erts/emulator/sys/unix/sys_time.c +++ b/erts/emulator/sys/unix/sys_time.c @@ -219,7 +219,10 @@ sys_init_time(ErtsSysInitTimeResult *init_resp) #endif init_resp->os_monotonic_time_info.resolution = (Uint64) 1000*1000*1000; -#if defined(HAVE_CLOCK_GETRES) && defined(MONOTONIC_CLOCK_ID) +#if defined(ERTS_HAVE_MACH_CLOCK_GETRES) && defined(MONOTONIC_CLOCK_ID) + init_resp->os_monotonic_time_info.resolution + = mach_clock_getres(&internal_state.r.o.mach.clock.monotonic); +#elif defined(HAVE_CLOCK_GETRES) && defined(MONOTONIC_CLOCK_ID) { struct timespec ts; if (clock_getres(MONOTONIC_CLOCK_ID, &ts) == 0) { @@ -229,9 +232,6 @@ sys_init_time(ErtsSysInitTimeResult *init_resp) init_resp->os_monotonic_time_info.resolution = 1; } } -#elif defined(ERTS_HAVE_MACH_CLOCK_GETRES) && defined(MONOTONIC_CLOCK_ID) - init_resp->os_monotonic_time_info.resolution - = mach_clock_getres(&internal_state.r.o.mach.clock.monotonic); #endif #ifdef MONOTONIC_CLOCK_ID_STR @@ -379,7 +379,10 @@ sys_init_time(ErtsSysInitTimeResult *init_resp) init_resp->os_system_time_info.locked_use = 0; init_resp->os_system_time_info.resolution = (Uint64) 1000*1000*1000; -#if defined(HAVE_CLOCK_GETRES) && defined(WALL_CLOCK_ID) +#if defined(ERTS_HAVE_MACH_CLOCK_GETRES) && defined(WALL_CLOCK_ID) + init_resp->os_system_time_info.resolution + = mach_clock_getres(&internal_state.r.o.mach.clock.wall); +#elif defined(HAVE_CLOCK_GETRES) && defined(WALL_CLOCK_ID) { struct timespec ts; if (clock_getres(WALL_CLOCK_ID, &ts) == 0) { @@ -389,9 +392,6 @@ sys_init_time(ErtsSysInitTimeResult *init_resp) init_resp->os_system_time_info.resolution = 1; } } -#elif defined(ERTS_HAVE_MACH_CLOCK_GETRES) && defined(WALL_CLOCK_ID) - init_resp->os_system_time_info.resolution - = mach_clock_getres(&internal_state.r.o.mach.clock.wall); #endif #if defined(OS_SYSTEM_TIME_USING_CLOCK_GETTIME) diff --git a/lib/inets/doc/src/mod_esi.xml b/lib/inets/doc/src/mod_esi.xml index deef010e54..8279fdc824 100644 --- a/lib/inets/doc/src/mod_esi.xml +++ b/lib/inets/doc/src/mod_esi.xml @@ -42,8 +42,7 @@ <taglist> <tag><c>env() = </c></tag> <item> <p><c>{EnvKey()::atom(), Value::term()}</c></p> - </item> - + <p>Currently supported key value pairs</p> <taglist> @@ -59,11 +58,12 @@ <tag><c>{server_protocol, string()}</c></tag> <item><p> HTTP version, currently "HTTP/1.1"</p></item> - <tag>{server_port, integer()}</tag> + <tag><c>{server_port, integer()}</c></tag> <item><p>Servers port number.</p></item> <tag><c>{request_method, "GET | "PUT" | "DELETE | "POST" | "PATCH"}</c></tag> - + <item><p>HTTP request method.</p></item> + <tag><c>{remote_adress, inet:ip_address()} </c></tag> <item><p>The clients ip address.</p></item> @@ -81,94 +81,97 @@ <tag><c>{http_LowerCaseHTTPHeaderName, string()}</c></tag> <item><p>example: {http_content_type, "text/html"}</p></item> - </taglist> - + </taglist> + </item> </taglist> + </section> - <funcs> - <func> - <name>deliver(SessionID, Data) -> ok | {error, Reason}</name> - <fsummary>Sends <c>Data</c> back to client.</fsummary> - <type> + <funcs> + <func> + <name>deliver(SessionID, Data) -> ok | {error, Reason}</name> + <fsummary>Sends <c>Data</c> back to client.</fsummary> + <type> <v>SessionID = term()</v> <v>Data = string() | io_list() | binary()</v> <v>Reason = term()</v> - </type> - <desc> - <marker id="deliver"></marker> - <p>This function is <em>only</em> intended to be used from - functions called by the Erl Scheme interface to deliver - parts of the content to the user.</p> - <p>Sends data from an Erl Scheme script back to the client.</p> + </type> + <desc> + <marker id="deliver"></marker> + <p>This function is <em>only</em> intended to be used from + functions called by the Erl Scheme interface to deliver + parts of the content to the user.</p> + <p>Sends data from an Erl Scheme script back to the client.</p> - <note> - <p>If any HTTP header fields are added by the - script, they must be in the first call to <c>deliver/2</c>, - and the data in the call must be a string. Calls after the headers - are complete can contain binary data to reduce copying - overhead. Do not assume anything about the data type of - <c>SessionID</c>. <c>SessionID</c> must be the value given - as input to the ESI callback function that you implemented.</p> - </note> - </desc> - </func> - </funcs> - </section> - <section> - <title>ESI Callback Functions</title> - </section> - <funcs> - <func> - <name>Module:Function(SessionID, Env, Input)-> _ </name> - <fsummary>Creates a dynamic web page and returns it chunk by chunk - to the server process by calling <c>mod_esi:deliver/2</c>.</fsummary> - <type> - <v>SessionID = term()</v> - <v>Env = env()</v> - <v>Input = string()</v> - </type> + <note> + <p>If any HTTP header fields are added by the + script, they must be in the first call to <c>deliver/2</c>, + and the data in the call must be a string. Calls after the headers + are complete can contain binary data to reduce copying + overhead. Do not assume anything about the data type of + <c>SessionID</c>. <c>SessionID</c> must be the value given + as input to the ESI callback function that you implemented.</p> + </note> + </desc> + </func> + </funcs> + + <section> + <title>ESI Callback Functions</title> + </section> + + <funcs> + <func> + <name>Module:Function(SessionID, Env, Input)-> _ </name> + <fsummary>Creates a dynamic web page and returns it chunk by chunk + to the server process by calling <c>mod_esi:deliver/2</c>.</fsummary> + <type> + <v>SessionID = term()</v> + <v>Env = env()</v> + <v>Input = string()</v> + </type> <desc> <p><c>Module</c> must be found in the code path and export - <c>Function</c> with an arity of three. An <c>erlScriptAlias</c> must - also be set up in the configuration file for the web server.</p> + <c>Function</c> with an arity of three. An <c>erlScriptAlias</c> must + also be set up in the configuration file for the web server.</p> <p>If the HTTP request is a 'post' request and a body is sent, - <c>content_length</c> is the length of the posted - data. If 'get' is used, <c>query_string</c> is the data after - <em>?</em> in the URL.</p> + <c>content_length</c> is the length of the posted + data. If 'get' is used, <c>query_string</c> is the data after + <em>?</em> in the URL.</p> <p><c>ParsedHeader</c> is the HTTP request as a key-value tuple - list. The keys in <c>ParsedHeader</c> are in lower case.</p> + list. The keys in <c>ParsedHeader</c> are in lower case.</p> <p><c>SessionID</c> is an identifier - the server uses when <c>deliver/2</c> is called. Do not - assume anything about the datatype.</p> + the server uses when <c>deliver/2</c> is called. Do not + assume anything about the datatype.</p> <p>Use this callback function to generate dynamic web - content dynamically. When a part of the page is generated, send the - data back to the client through <c>deliver/2</c>. Notice - that the first chunk of data sent to the client must at - least contain all HTTP header fields that the response - will generate. If the first chunk does not contain the - <em>end of HTTP header</em>, that is, <c>"\r\n\r\n",</c> - the server assumes that no HTTP header fields will be generated.</p> + content dynamically. When a part of the page is generated, send the + data back to the client through <c>deliver/2</c>. Notice + that the first chunk of data sent to the client must at + least contain all HTTP header fields that the response + will generate. If the first chunk does not contain the + <em>end of HTTP header</em>, that is, <c>"\r\n\r\n",</c> + the server assumes that no HTTP header fields will be generated.</p> </desc> - </func> - <func> - <name>Module:Function(Env, Input)-> Response </name> - <fsummary>Creates a dynamic web page and returns it as a list. - This function is deprecated and is only kept for backwards compatibility.</fsummary> - <type> - <v>Env = env()</v> - <v>Input = string()</v> - <v>Response = string()</v> - </type> + </func> + + <func> + <name>Module:Function(Env, Input)-> Response </name> + <fsummary>Creates a dynamic web page and returns it as a list. + This function is deprecated and is only kept for backwards compatibility.</fsummary> + <type> + <v>Env = env()</v> + <v>Input = string()</v> + <v>Response = string()</v> + </type> <desc> <p>This callback format consumes much memory, as the - whole response must be generated before it is sent to the - user. This function is deprecated and is only kept for backwards - compatibility. - For new development, use <c>Module:Function/3</c>.</p> + whole response must be generated before it is sent to the + user. This function is deprecated and is only kept for backwards + compatibility. + For new development, use <c>Module:Function/3</c>.</p> </desc> - </func> - </funcs> - + </func> + </funcs> + </erlref> diff --git a/lib/public_key/doc/src/public_key.xml b/lib/public_key/doc/src/public_key.xml index 74bb06b9b2..385604677c 100644 --- a/lib/public_key/doc/src/public_key.xml +++ b/lib/public_key/doc/src/public_key.xml @@ -839,6 +839,7 @@ fun(#'DistributionPoint'{}, #'CertificateList'{}, <func> <name>short_name_hash(Name) -> string()</name> + <fsummary>Generates a short hash of an issuer name.</fsummary> <type> <v>Name = issuer_name()</v> </type> |