| Reader's Clinic - Screen Width |
| Screen Grabber |
| Reader's Clinic - Slow Multivalued Screen Display |
| Utility Diskette # 4 |
| Reader's Clinic - Prompting for Passwords |
| VERBatim - V64 |
| QTIPS - Accessing Password Protected SYSPROG |
| QTIPS - DOSTime |
| VERBatim - V11 |
| @ATTACK - @Backgrnd.Time |
| @ATTACK - @Index.Time |
| QTIPS - Time-outs in Windows |
| SecureUser |
| VERBatim - V25 |
| @ATTACK - @Files.System |
| Advanced Revelation Initialisation Sequence (Overview) by Mike Pope |
| REVMEDIA Revisted |
| Background Processing |
| Creating Your Own Background Processes |
| @ATTACK - @Index.Time |
| How Indexes Are Updated |
| Reader's Clinic - Fixing %Windows% Using Depend.Update |
| QTIPS - Updating Indexes |
| How Indexes Are Updated |
| REVMEDIA Revisted |
| QTIPS - Using @Upper.Case and @Lower.Case with Foreign Languages |
| @ATTACK - @Lower.Case |
| @ATTACK - @Upper.Case |
| Sorting out Collation Sequences by Mike Pope |
| VERBatim - V17 |
| VERBatim - V6 |
| VERBatim - V125 |
| Utility Diskette # 3 - Part I |
| Version 3 Technical Highlights - Copying Rows Programmatically |
| Version 3 TCL Subroutines - Copying Rows |
| Reader's Clinic - Naming Routines |
| SecureUser |
| Advanced Revelation Initialisation Sequence (Overview) by Mike Pope |
| QTIPS - What's DAT? |
| Reader's Clinic |
| Networked %SK% |
| Network Contention |
| Directory Exists on Novell |
| QTIPS - String Space Format Errors |
| QTIPS - Postscript Driver Problem |
RevMedia FKB
| Document | V1I4A26 |
| Title | Background Processing |
| Keywords | BACKGROUND PROCESSING INPUT.CHAR INDEX.CONTROL |
| Text | In the recent PC User "Database Challenge" one of the things that impressed the judges was the comprehensive security that we were able to demonstrate After the keyboard had been left unattended for a user DEFINED length of time the screen cleared and the user was prompted for a password Unsuccessful password attempts were logged to an AUDIT file and too many attempts (user defined) logged the user out If no password was entered for a user DEFINED length of time the user was logged out and an access violation logged to the AUDIT log This was implemented (perhaps "kludged" would be more accurate) by intercepting the CALLS to the background index processing and replacing our own routine there To understand this it would probably be useful to reconsider the behaviour of INPUT CHAR INPUT CHAR is the standard system input routine When it is called it loops waiting for a keystroke until either a key is pressed (when it processes it and/or returns it (see REVMEDIA Vol 1 Issue 2)) or the time determined as the time to wait until indexing in the environemt parameters has elapsed the routine INDEX CONTROL is called This then starts updating any waiting index transactions When it has completed it waits for the index wait time and then again starts to update index transactions (unless a key is pressed in which case index processing stops and INPUT CHAR resumes) Thus to have our own routine dynamically called AFTER a period of inactivity at the keyboard all that we have to do is copy $INDEX CONTROL to $INDEX CONTROL OLD in VERBS and out our own $INDEX CONTROL in VERBS Once our program has completed its tasks it could then (if we wished it to) call INDEX CONTROL OLD Note that as we are putting out own $INDEX CONTROL in VERBS we do not need to Catalog it as the system will look to VERBS before checking VOC pointers If you feel safer leaving your $INDEX CONTROL in BP (as then you won't forget to copy it over AFTER amendments) don't forget to Catalog it! There are however two major PROBLEMS WITH this method The first is that subsequent RevTech upgrades may overwrite our $INDEX CONTROL The second is that AFTER we have called $INDEX CONTROL OLD control is not returned to our program/INPUT CHAR until a key is pressed Thus if this were being left running overnight our $INDEX CONTROL would only be called once before $INDEX CONTROL OLD took over for the night On a network this could be best circumvented by having one copy of VERBS for those workstations needing to background update INDEXES and another for workstations needing to call out routine Both PROBLEMS would be sorted out by one enhancement to the AREV software What is needed is a place to insert user CATALYST CALLS in INPUT CHAR and INDEX CONTROL Once these were implemented we could have our own independent background processing tasks Well I'm glad to be able to impart some good news RevTech WILL be implementing such a hook Because of the resource being committed to Release 2 0 this will not be in Release 2 0 but it may see its way into Release 2 1 or 2 2 As for timescales well second guessing software releases is like weather forecasting so I'll leave that to the experts however I have noticed that there was more frog spawn in my pond than usual for the time of the year so (Volume 1 Issue 4 Pages 10 11) |
Page last modified: 08/02/03