From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from resqmta-ch2-01v.sys.comcast.net (resqmta-ch2-01v.sys.comcast.net [IPv6:2001:558:fe21:29:69:252:207:33]) by hurricane.the-brannons.com (Postfix) with ESMTPS id 1C5D377AA1 for ; Sun, 8 Sep 2019 21:38:41 -0700 (PDT) Received: from resomta-ch2-10v.sys.comcast.net ([69.252.207.106]) by resqmta-ch2-01v.sys.comcast.net with ESMTP id 7BQmi56zto9aT7BRliPGRl; Mon, 09 Sep 2019 04:38:37 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=20190202a; t=1568003917; bh=NLp0UrdgnQIiXt5GvIBgdO+/0pj7PEXR+ONHZxKwsuE=; h=Received:Received:To:From:Reply-to:Subject:Date:Message-ID: Mime-Version:Content-Type; b=2gZhrXVtZSGLp8Z9Fk+luFsjmCPhPtd7grXc/TI0QmizeoGRO/BMpQ3VXBHb4Tdu9 YbfukrPrQ92/sslfZMBULJo84kFVBBzklSexbRK7kZysEejpxGCBkX7Bdu8HvOpYTo wl1Fp0Ic1Fq5M2SnnugTqG4GxOD8se29PU2vzIaNf7CY33kujEtEOiM7Of2OkCP1Rp U3UJh13Q/2Mv345amEtwhhTETTgYvn4JQMtsortPQ17FNjcf197J+bpuHJDkjeGtmg Q2xBE8Upkse6rpiJiZpzuEjY3UbrgY3lIzw8fqYTk0Mggx29WT+Ik8MzJwxM0qf08h 13dOJy6+xLK+g== Received: from unknown ([IPv6:2601:408:c303:3f49:21e:4fff:fec2:a0f1]) by resomta-ch2-10v.sys.comcast.net with ESMTPSA id 7BRkiOcgo8vGt7BRlivGpA; Mon, 09 Sep 2019 04:38:37 +0000 X-Xfinity-VMeta: sc=0;st=legit To:edbrowse-dev@edbrowse.org From: Karl Dahlke Reply-to: Karl Dahlke User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E) Subject: [edbrowse-dev] Thread Thoughts Date: Mon, 09 Sep 2019 00:38:36 -0400 Message-ID: <20190809003836.eklhad@comcast.net> X-BeenThere: edbrowse-dev@edbrowse.org List-Id: Edbrowse Development List Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=nextpart-eb-474478 Content-Transfer-Encoding: 7bit This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. --nextpart-eb-474478 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable If we take the plunge, and run js in a background thread for timers or = async scripts, here is a quick scan of the edbrowse commands and the ones that are ok = to run, that is, the ones that don't have to block and wait for the background = js to finish. You'll mostly be looking around the buffer, reading the web page, and = that's fine. B e f g or v as in global, but the subcommand has to be ok. g go to an internal link, maybe g?, not g to another web page, it calls = onclick etc Wish you could start filling out a form but each input could have = oninput onchange onclick onselect code etc so those must all block. h H k l n p w X z =3D & < but each command in the function has to be ok The multiletter commands, basically most of them. db dbcss db> trace demin timers bw rr number (but not rr) ua number re rea sm, though they aren't applicable, you just get an error message various ls commands though they aren't applicable sort commands cd ll fll pb commands, though not applicable shc sht fbc shf ds=3D, database commands, not applicable jdb but you have to block before each input expression ib, I think, now that browse doesn't allocate buffers for you, hmm f/ w/ ft fd fk ftpa can rl bd pg hr sr xhr vs hf sg sw ci endm su8 iu lna dr dw dx bg = jsbg pdc pdd pdq bglist bflist help If jsbt is the js background thread, then blocking is easy peasy. #define js_wait if(jsbt) pthread_join(jsbt) Karl Dahlke --nextpart-eb-474478--