🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.epoch.misc
Article #1691

Help on defining transactions

#1691
From: William M Miller
Date: Thu, 14 Nov 1991 15:18
37 lines
2359 bytes
My company is using Epoch 3.2 and looking at Epoch 4.0 alpha as part
of a larger application.  I have some questions regarding process
synchronization on behalf of a coworker who does not have access to
the Net.

Some background: certain actions of the user during editing in Epoch
result in requests for services from the containing application.  Some
of these requests can be lengthy, requiring several seconds to
complete, and the result of the request may be to change the text in
one or more Epoch screens.  Consequently, we need to add the concept
of "transaction" to the dialogue between Epoch.  Between the start and
end of a transaction, any keyboard input should be buffered and not
executed, and updates from the application to text displayed in Epoch
screens should be done invisibly and revealed all at once at the end
of the transaction instead of incrementally as they occur.

The questions:

1) The "update-flag" variable seems designed for the purpose of hiding
incremental screen updates during a transaction, but it has two
drawbacks: first, the cursor is left in a different place when
update-flag is set to "t" than it would be if it had never been set to
"nil."  Second, and more important, it simply does not work for the
current screen.  Is there a better way to suppress display updates
during a transaction, or will it be necessary to change the Epoch
source to get the functionality?

2) There doesn't seem to be a way at all to defer handling of
keystrokes and still allow Epoch to process input from the pipe
connecting it to the process running the rest of the application,
since sit-for interrupts on both keyboard and pipe input and sleep-for
interrupts on neither.  Are we missing something?

Thanks in advance for any pointers.

-- Mike Miller
   wmm@world.std.com
Technical Details
Message-ID: <BEvx63.71C@world.std.com>
Path: arc1-ca.pugleaf.net!gmdzi!ieee.org!sdd.hp.com!cs.utexas.edu!uunet!iWarp.intel.com|eff!world!wmm

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: fc7ee,4cf5ebb1235aea18,start
X-Google-Attributes: gidfc7ee,public
X-Google-ArrivalTime: 1991-11-14 07:59:30 PST
Path: arc1-ca.pugleaf.net!gmdzi!ieee.org!sdd.hp.com!cs.utexas.edu!uunet!iWarp.intel.com|eff!world!wmm
From: wmm@world.std.com (William M Miller)
Newsgroups: gnu.epoch.misc
Subject: Help on defining transactions
Message-ID: <BEvx63.71C@world.std.com>
Date: 14 Nov 91 15:18:02 GMT
Distribution: gnu
Organization: Software Emancipation Technology, Inc.
Lines: 37