From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 F32717961D for ; Mon, 30 Jan 2017 02:59:54 -0800 (PST) Received: from resomta-ch2-01v.sys.comcast.net ([69.252.207.97]) by resqmta-ch2-01v.sys.comcast.net with SMTP id Y9hRcfh2sXcwhY9hRcFTpa; Mon, 30 Jan 2017 11:00:41 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20161114; t=1485774041; bh=Q1kTWr8cp9kVNzfM6CznzqPo9rychJG8/9R6YfOH9lI=; h=Received:Received:To:From:Reply-to:Subject:Date:Message-ID: Mime-Version:Content-Type; b=TVXB+c6jUOQZg8bp7IQlXJXUPswkAzenEMnQtSUWuJqJnW5fGjaIpT7Ep4UmByk0G yTd9V6U10SE0/HTEItdaeM5imlyuyi1oDAJn4+VpPqR+gWTiSEkdhLWjol0FBXMxoW BUkfZuPvjsimYdjYm0XBNnChOYctL2OoOAM78xT8VSGfosO3cX2WOfXizIM7qov/Qj 8jgqveqjzOLga7Fphjflcz2TelCfTx7MKBP545+pzETYRcsB2NgI9YfaWPHLpQr8b1 0EhnpyVBPbJGg5mo/omsI2RIY58mR+lcDMbvcfs9c9VJRPQZznSgDvURvmeXrytz6i p+VRr63CBDgJA== Received: from unknown ([IPv6:2601:408:c301:784d:21e:4fff:fec2:a0f1]) by resomta-ch2-01v.sys.comcast.net with SMTP id Y9hQcdTWhynOFY9hQcHBkV; Mon, 30 Jan 2017 11:00:41 +0000 To: Edbrowse-dev@lists.the-brannons.com From: Karl Dahlke Reply-to: Karl Dahlke User-Agent: edbrowse/3.6.2+ Date: Mon, 30 Jan 2017 06:00:40 -0500 Message-ID: <20170030060040.eklhad@comcast.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=nextpart-eb-314810 Content-Transfer-Encoding: 7bit X-CMAE-Envelope: MS4wfDk4lTrm//uowySWgveQKm1RPSfw6fUhAk12rjhwMfadVB4yPUGqiln44hVUgetXwnyvPsV/wDL3pJS2zJ3WSSsX42YGzZuQ1V8OWW7l8bgtH1xsG4CD Rj/I2YA7bFhKk3pqfiz3Obf+xnCI8neylgGZz04IOGBThQgZmHnpyaiP Subject: [Edbrowse-dev] Churning Timers X-BeenThere: edbrowse-dev@lists.the-brannons.com X-Mailman-Version: 2.1.23 Precedence: list List-Id: Edbrowse Development List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2017 10:59:55 -0000 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-314810 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Ok,here is the problem of the day. If you don't apply my latest push / fix, and go to this site, it locks = you out in what seems like an infinite loop. You can type and type and nothing happens. Hit control c and get the usual "type qt to quit" message, but still = you have no access. You have to kill the process. At least that's what happens over here. http://www.huffingtonpost.com/entry/the-inevitability-of-impeachment_us_= 588e8d52e4b0b065cbbcd09f I thought my code was traversing a broken tree forever, again, or some = such, but no. I fixed those problems. This site has a half doesn't timers, actually intervals, that fire = every 50ms. My implementation is sufficiently slow, or perhaps I have the wrong = priorities on select() channels, or some such, that I am locked out. As a bandaid, I now wait at least 230ms before running timers. That is the latest push. It's just a couple lines of code. I actually don't think this is a bad idea. Timers firing every 50ms almost surely exist to render fast visual = effects, which are lost on us. If it takes a couple minutes to read a message on the screen, or = understand what part of the screen has changed, then there's just no reason to change the screen 20 times a second. Slowing down the process fixes the problem. I can enter commands and edbrowse responds. Type db4 and oh yes you can see the timers firing, and the screen = rerendering, even though nothing on the screen changes. Type db1 to go back to quiet. It works, though even at this level it consumes 10% of my processor. If I happen to have 10 such web pages open, either in parallel or = pushed up onto the stack, the whole processor is churning. So we don't have a clear solution yet. Obviously the real browsers fire these timers 20 times a second without = making a dent in cpu usage and without blocking user input. No idea how they do it. Anyways, the web page works now, and as for its contents, I can only = hope he's right. Karl Dahlke --nextpart-eb-314810--