1
0
mirror of https://github.com/rkd77/elinks.git synced 2024-12-04 14:46:47 -05:00
Commit Graph

6771 Commits

Author SHA1 Message Date
Witold Filipczyk
f17f2d75ad [curl] option protocol.https.curl_tls13_ciphers
It is a colon separated list of ciphers. Mainly for testing.
See https://curl.se/docs/ssl-ciphers.html
2024-04-16 12:30:56 +02:00
Witold Filipczyk
141ad11ad5 [curl] Added bandwith limit for ftp and http.
protocol.ftp.curl_max_recv_speed
protocol.ftp.curl_max_send_speed
protocol.http.curl_max_recv_speed
protocol.http.curl_max_send_speed

Unit is byte per second. 0 - unlimited.
2024-04-15 19:52:23 +02:00
Witold Filipczyk
ea9d93d44b [test] Make compilable test mailcap-cache. Refs #298 2024-04-15 08:34:08 +02:00
Witold Filipczyk
26815e829a Merge branch 'assert' 2024-04-13 13:56:54 +02:00
rkd77
9ae8dd786b
Merge pull request #297 from smemsh/nowait-connect
remove 300ms startup delay and optimize fork_on_start
2024-04-13 13:52:43 +02:00
Scott Mcdermott
3d1f020a3b [interlink] speed up first elinks, and use pipe trigger for fork_on_start
When the first elinks session starts (whether fork_on_start or not), it
tries to connect on AF_UNIX socket, to see if an existing master is
present.  The current code implements a retry loop with linear-increase
retry backoff, 50ms *= attempts, with 3 attempts, total delay 300ms,
before concluding master is not present.

After forking for fork_on_start, we do have to wait for the new master
to finish setup, so we can connect to it.  This is the case where retry
loop might be useful.  However in fork_on_start=0 case, there should be
no reason to ever wait: if we get ECONNREFUSED or ENOENT, the master
simply is not there, we can go on about our business as the master.

With fork_on_start=1 however, we will race with the child (that will
become the new master), which has to complete its socket/bind/listen
sequence.  Therefore we typically have to wait another 50ms (first
attempt delay), for a total of 350ms delay.

In both cases, there does not seem to be a purpose to the initial
connection attempt retry.  Conclusion after connect() failure should be
authoritative: there is no master.  We do not race with anyone.

If we have done fork_on_start and have to wait, we can instead open a
pipe before forking, and wait for the "new" master (its child) to send
us a byte over the pipe.  Thus, we do not need to poll, but can simply
block until we get the trigger, to indicate that AF_UNIX socket setup
has completed.

This speeds up the first start of elinks by 300ms for fork_on_start=0,
and between 300-350ms for fork_on_start=1 (or possibly more, if the
machine is loaded and child did not finish AF_UNIX setup in first 50ms).
2024-04-12 22:51:01 -07:00
Scott Mcdermott
b482b9e069 [interlink] do not nest retries for connect_to_af_unix(), it has already
Not sure why a retry loop using MAX_BIND_TRIES / BIND_TRIES_DELAY
surrounds connect_to_af_unix(), since bind() is done elsewhere in the
code, and connect_to_af_unix() already has its own retry loop inside the
function, with its own set of defines for retries, i.e. MAX_CONNECT_TRIES
/ CONNECT_TRIES_DELAY, surrounding the connect().  No need to have two
levels of retry; if it's not successful within connect_to_af_unix() it
will never be.
2024-04-12 20:05:53 -07:00
Witold Filipczyk
33db9eacf2 [assert] element.namedItem (failed) 2024-04-12 21:39:11 +02:00
Witold Filipczyk
236bfb5964 [assert] element.matches (failed) 2024-04-12 21:27:06 +02:00
Witold Filipczyk
61362206c7 [assert] document.links 2024-04-12 21:19:40 +02:00
Witold Filipczyk
766f33da17 [assert] element.lastElementChild 2024-04-12 21:16:22 +02:00
Witold Filipczyk
4b108f43a6 [assert] element.lastChild 2024-04-12 21:12:49 +02:00
Witold Filipczyk
b161c71bec [assert] element.lang 2024-04-12 21:09:20 +02:00
Witold Filipczyk
01c29b3d42 [assert] element.isSameNode 2024-04-12 21:05:08 +02:00
Witold Filipczyk
7a66c9ff27 [assert] element.isEqualNode
There is issue with different permutation of attributtes.
2024-04-12 21:01:15 +02:00
Witold Filipczyk
86b767864b [assert] element.insertBefore 2024-04-12 20:49:57 +02:00
Witold Filipczyk
84ce531210 [assert] element.innerHTML.html 2024-04-12 20:44:25 +02:00
Witold Filipczyk
4128945063 [assert] document.images 2024-04-12 20:36:00 +02:00
Witold Filipczyk
eaeee7e849 [assert] document.head (failed) 2024-04-12 20:32:59 +02:00
Witold Filipczyk
6313f8302e [assert] element.hasChildNodes 2024-04-12 20:26:42 +02:00
Witold Filipczyk
daadb89a33 [assert] element.hasAttributes 2024-04-12 20:23:17 +02:00
Witold Filipczyk
fc5f10c48e [assert] element.hasAttribute 2024-04-12 20:19:14 +02:00
Witold Filipczyk
7c920847cb [assert] document.getElementsByTagName 2024-04-12 20:14:53 +02:00
Witold Filipczyk
706b6e9d12 [assert] document.getElementsByName (failed) 2024-04-12 20:09:56 +02:00
Witold Filipczyk
9080bf4dac [assert] document.getElementsByClassName (failed) 2024-04-12 20:00:24 +02:00
Witold Filipczyk
78dcb125ea [assert] element.getAttributeNode 2024-04-12 19:51:50 +02:00
Witold Filipczyk
58129c4396 [assert] element.getAttribute 2024-04-12 19:48:13 +02:00
Witold Filipczyk
9c75225871 [assert] element.firstElementChild 2024-04-12 19:43:35 +02:00
Witold Filipczyk
370c9d90c5 [assert] element.firstChild 2024-04-12 19:39:45 +02:00
Witold Filipczyk
59612be1f8 [assert] element.getElementsByTagName 2024-04-12 19:35:38 +02:00
Witold Filipczyk
e32c69f05f [assert] document.domain 2024-04-12 19:31:32 +02:00
Witold Filipczyk
351aa1fce7 [assert] document.documentURI 2024-04-12 19:28:26 +02:00
Witold Filipczyk
305664eaf9 [assert] document.documentElement 2024-04-12 19:23:49 +02:00
Witold Filipczyk
1445d613c6 [assert] document.doctype 2024-04-12 19:18:08 +02:00
Witold Filipczyk
317361d63b [assert] element.dir.html 2024-04-12 19:15:20 +02:00
Witold Filipczyk
839a1493ac [assert] element.contains.html 2024-04-12 17:36:10 +02:00
Witold Filipczyk
1b1b34e0d7 [assert] element.closest (Failed) 2024-04-12 17:29:46 +02:00
Witold Filipczyk
0ec3a68148 [assert] element.cloneNode 2024-04-12 17:19:28 +02:00
Witold Filipczyk
442f119ffd [assert] element.className 2024-04-12 17:11:25 +02:00
Witold Filipczyk
974429611c [assert] document.body.childNodes 2024-04-12 17:06:39 +02:00
Witold Filipczyk
5f8898b2a2 [assert] element.childElementCount 2024-04-12 17:01:47 +02:00
Witold Filipczyk
274b832fa6 [assert] element.checked 2024-04-12 16:57:20 +02:00
Witold Filipczyk
b9428b846c [assert] document.characterSet 2024-04-12 16:53:26 +02:00
Witold Filipczyk
d696ca2f96 [assert] document.body.id 2024-04-12 16:49:16 +02:00
Witold Filipczyk
6059ad2211 [assert] element.attributes 2024-04-12 16:45:36 +02:00
Witold Filipczyk
4aee3a3717 [assert] document.anchors 2024-04-12 16:42:15 +02:00
Witold Filipczyk
ca3cc5b214 [assert] document.baseURI 2024-04-12 16:37:47 +02:00
Witold Filipczyk
da14bf16cd [assert] document.body.children 2024-04-12 16:31:49 +02:00
Witold Filipczyk
1435c2da92 [assert] element.appendChild 2024-04-12 16:27:11 +02:00
Witold Filipczyk
3f9af02ff6 [ecmascript] Do not rewrite html when testing 2024-04-12 16:17:41 +02:00