[U2] Inter-Process Control...
We have two phantom processes. The first phantom needs to wait for an event to occur with the second phantom. I realize that I could have the first phantom loop, check, then sleep. However, I'd like to avoid wasting resources. Back on the Prime, I could use semaphores, to control this flow and this was clean, and simple. Has anyone come across a means of having a phantom wait on something, so it only wakes up when it needs to perform its function? To try to explain better: Phantom1: Loop Wait on semaphore Perform a shared process (batch updates would be an example) Repeat Phantom2 (3, 4, ...): Loop Process records Notify semaphore Repeat Thanks, Tom Whitmore RATEX Business Solutions --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
[U2] RE: Inter-Process Control...
Could you have the first PHANTOM fire off the 2nd PHANTOM when that critical point is reached? John Israel -Original Message- From: owner-u2-us...@listserver.u2ug.org [mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of Tom Whitmore Sent: Thursday, February 26, 2009 7:57 AM To: u2-users@listserver.u2ug.org Subject: [U2] Inter-Process Control... We have two phantom processes. The first phantom needs to wait for an event to occur with the second phantom. I realize that I could have the first phantom loop, check, then sleep. However, I'd like to avoid wasting resources. Back on the Prime, I could use semaphores, to control this flow and this was clean, and simple. Has anyone come across a means of having a phantom wait on something, so it only wakes up when it needs to perform its function? To try to explain better: Phantom1: Loop Wait on semaphore Perform a shared process (batch updates would be an example) Repeat Phantom2 (3, 4, ...): Loop Process records Notify semaphore Repeat Thanks, Tom Whitmore RATEX Business Solutions --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Inter-Process Control...
Couldn't you get the second phantom to lock an empty record release it when it is done? The first phantom can wait on the readu lock. Regards, Kishor Parmar -Original Message- From: owner-u2-us...@listserver.u2ug.org [mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of Tom Whitmore Sent: 26 February 2009 12:57 To: u2-users@listserver.u2ug.org Subject: [U2] Inter-Process Control... We have two phantom processes. The first phantom needs to wait for an event to occur with the second phantom. I realize that I could have the first phantom loop, check, then sleep. However, I'd like to avoid wasting resources. Back on the Prime, I could use semaphores, to control this flow and this was clean, and simple. Has anyone come across a means of having a phantom wait on something, so it only wakes up when it needs to perform its function? To try to explain better: Phantom1: Loop Wait on semaphore Perform a shared process (batch updates would be an example) Repeat Phantom2 (3, 4, ...): Loop Process records Notify semaphore Repeat Thanks, Tom Whitmore RATEX Business Solutions --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
[U2] RE: Inter-Process Control...
If you are running unix, you could have an email alias run a script that triggers the phantom, then to start the phantom, just have unix send an email to that address. George -Original Message- From: owner-u2-us...@listserver.u2ug.org [mailto:owner-u2- us...@listserver.u2ug.org] On Behalf Of Tom Whitmore Sent: Thursday, February 26, 2009 7:57 AM To: u2-users@listserver.u2ug.org Subject: [U2] Inter-Process Control... We have two phantom processes. The first phantom needs to wait for an event to occur with the second phantom. I realize that I could have the first phantom loop, check, then sleep. However, I'd like to avoid wasting resources. Back on the Prime, I could use semaphores, to control this flow and this was clean, and simple. Has anyone come across a means of having a phantom wait on something, so it only wakes up when it needs to perform its function? To try to explain better: Phantom1: Loop Wait on semaphore Perform a shared process (batch updates would be an example) Repeat Phantom2 (3, 4, ...): Loop Process records Notify semaphore Repeat Thanks, Tom Whitmore RATEX Business Solutions --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] Inter-Process Control...
Tom, Sounds like a classic application for sockets. Inter process communications. Phantom 1 opens a server socket on a known port/IP and waits on a blocked read for something (like a process name to run for example). Process 2 opens a socket on the known port/ip and writes the name of the process it would like to have run and perhaps provides some parameters as either a command line or second write. Process 1 fires off the requested process and writes and response. Tom Whitmore wrote: We have two phantom processes. The first phantom needs to wait for an event to occur with the second phantom. I realize that I could have the first phantom loop, check, then sleep. However, I'd like to avoid wasting resources. Back on the Prime, I could use semaphores, to control this flow and this was clean, and simple. Has anyone come across a means of having a phantom wait on something, so it only wakes up when it needs to perform its function? To try to explain better: Phantom1: Loop Wait on semaphore Perform a shared process (batch updates would be an example) Repeat Phantom2 (3, 4, ...): Loop Process records Notify semaphore Repeat Thanks, Tom Whitmore RATEX Business Solutions --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ -- Jeff Schasny - Denver, Co, USA jschasny at gmail dot com /Come To The Dark Side, We Have Cookies./ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
[U2] AUTOLOGOUT and ON.ABORT
We are running Universe on a Windows 2003 server and trying to set up some code to run when the user hits a runtime error. I wrote a small program to be called from ON.ABORT that logs the user id, date, time, and presents the user with a message telling them to contact support so that we can look at their problem. Our users have their AUTOLOGOUT set to 30 minutes and it looks like the AUTOLOGOUT process causes the ON.ABORT clause to execute. Is there an easy way using a SYSTEM() or @variable to determine that this ON.ABORT is the result of an AUTOLOGOUT? Also, is there any way to find the program / line # / error message that cause the abort when they encounter a runtime error. I know Unix has the errlog in the uv directory but I'm not seeing any of that on our Windows system. Thanks, Mike Roosa --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] Inter-Process Control...
We have two phantom processes. The first phantom needs to wait for an event to occur with the second phantom. I realize that I could have the first phantom loop, check, then sleep. However, I'd like to avoid wasting resources. Back on the Prime, I could use semaphores, to control this flow and this was clean, and simple. Has anyone come across a means of having a phantom wait on something, so it only wakes up when it needs to perform its function? If you use the LOCK command (e.g.: LOCK 17) you're using semaphores. Does that suit your needs? If you're on UniData, you may want to take a look at PAUSE and WAKE. It gives you a way for a process to go to sleep, allowing another process to wake it up. Tim Snyder Consulting I/T Specialist U2 Lab Services Information Management, IBM Software Group --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Inter-Process Control...
If this is the approach you go for, I would recommend that you use a resource lock, rather than a record lock (no need to open file etc etc)... Resource locks are set system wide, so are not limited to a single account / file / record, and are accessed with the LOCK/UNLOCK UniBasic commands... You have 64 locks to use as you see fit.. In my mind the solution depends on how quickly you need the second process to wake up.. if a 30sec+ delay is ok, then using a resource lock could be an option with a SLEEP 30 on the locked condition.. Otherwise I would be looking at launching the child job as required, rather than having it wait for work.. Regards Raymond de Bourbon From: owner-u2-us...@listserver.u2ug.org [owner-u2-us...@listserver.u2ug.org] On Behalf Of kishor [kis...@parmars.com] Sent: 26 February 2009 07:52 To: u2-users@listserver.u2ug.org Subject: RE: [U2] Inter-Process Control... Couldn't you get the second phantom to lock an empty record release it when it is done? The first phantom can wait on the readu lock. Regards, Kishor Parmar -Original Message- From: owner-u2-us...@listserver.u2ug.org [mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of Tom Whitmore Sent: 26 February 2009 12:57 To: u2-users@listserver.u2ug.org Subject: [U2] Inter-Process Control... We have two phantom processes. The first phantom needs to wait for an event to occur with the second phantom. I realize that I could have the first phantom loop, check, then sleep. However, I'd like to avoid wasting resources. Back on the Prime, I could use semaphores, to control this flow and this was clean, and simple. Has anyone come across a means of having a phantom wait on something, so it only wakes up when it needs to perform its function? To try to explain better: Phantom1: Loop Wait on semaphore Perform a shared process (batch updates would be an example) Repeat Phantom2 (3, 4, ...): Loop Process records Notify semaphore Repeat Thanks, Tom Whitmore RATEX Business Solutions --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] AUTOLOGOUT and ON.ABORT
Can you glean anything from SYSTEM(9001)? --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Inter-Process Control...
Thank you for all the responses. I should have stated that we are a UniVerse shop. I did play with the lock/unlock but the only process that can modify the lock is the one that set it. Also, I could not get the process to wait on the lock. From the playing I did, lock/unlock seems very limited compared to what was available 15 years ago. Thanks Tom --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] AUTOLOGOUT and ON.ABORT
Unfortunately this is all I have in SYSTEM(9001). 1}BP.O/ON.ABORT}0x5e~ On Thu, Feb 26, 2009 at 11:04 AM, Kevin King precisonl...@gmail.com wrote: Can you glean anything from SYSTEM(9001)? --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] Inter-Process Control...
Tom, can you elaborate when you say the only process that can modify the lock is the one that set it. Isn't that exactly how a semaphore is supposed to work? Both processes should be able to set the lock but only one can have it at any moment in time. Or am I missing the point? --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Inter-Process Control...
I agree. I wrote two little programs. LOCK.TEST1 0001 LOCK 60 ELSE CRT '60 LOCKED' 0002 CRT 'UNLOCKED' LOCK.TEST2 0001 UNLOCK 60 0002 CRT '60 WAS UNLOCKED' LOCK.TEST1 locked 60 displayed unlocked. LOCK.TEST2 generated the error ' Program LOCK.TEST2: Line 1, Lock 60 not owned by calling process' and then displayed 60 WAS UNLOCKED. As I was playing with the test programs as I type this. it looks like the first process needs to perform the first lock. The second process will then lock, and wait on the lock until the first process unlocks. I need to be able to support many-to-one processes. The one process waits on the lock and any of the many processes need to release the lock... which the old semaphore process supported... I confess, I'm spoiled. :) Thanks Tom -Original Message- From: owner-u2-us...@listserver.u2ug.org [mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of Kevin King Sent: Thursday, February 26, 2009 2:01 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] Inter-Process Control... Tom, can you elaborate when you say the only process that can modify the lock is the one that set it. Isn't that exactly how a semaphore is supposed to work? Both processes should be able to set the lock but only one can have it at any moment in time. Or am I missing the point? --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] Inter-Process Control...
Hey Tom, Are you trying to do something like... Program A B B B B DONE = 0 B B B B LOOP B B B B B B B B B B GOSUB ;* PROCESS STUFF B B B B B UNTIL DONE DO B B B B B B B B B B B IF SOME.EVENT THEN B B B B B B B B B B B B B B B B LOCK 10;* WAKE UP PROGRAM B B B B B B B B B B B B B END B B B B B B B B B B B LOCK 11 THEN B B B B B B B B B B B B B B B B B B B B UNLOCK 11 B B B B B B B B B B B B END ELSE B B B B B B B B B B B B B B B B B B UNLOCK 10;* PROGRAM B FINISHED B B B B B B B B B B B END B B B B B B B B B B B B SLEEP 30 B B B B B B REPEAT B B B B B B B STOP PROGRAM B B B B B B B B DONE = 0 B B B B B B LOOP B B B B B B B B B B B B B LOCK 10 THEN B B B B B B B B B B B B B B B B B B B B UNLOCK 10 B B B B B B B B B B B B B B ENDB ELSE B B B B B B B B B B B B B B B B B B B B LOCK 11 B B B B B B B B B B B B B B B B B B B B GOSUB ;* PROCESS STUFF B B B B B B B B B B B B B B B B B B B B B UNLOCK 11 B B B B B B B B B B B B B B END B B B B B B B UNTIL DONE DO B B B B B B B B B B B B B B SLEEP 30 B B B B B B B REPEAT B B B B B B B B STOP - Original Message - From: Tom Whitmore tewhitm...@ratex.com To: u2-users@listserver.u2ug.org Sent: Thursday, February 26, 2009 12:05:19 PM GMT -06:00 US/Canada Central Subject: RE: [U2] Inter-Process Control... Thank you for all the responses. I should have stated that we are a UniVerse shop. I did play with the lock/unlock but the only process that can modify the lock is the one that set it. B Also, I could not get the process to wait on the lock. B From the playing I did, lock/unlock seems very limited compared to what was available 15 years ago. Thanks Tom --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Inter-Process Control...
Yep ... sure miss sem$wait sem$notify. You could accomplish the same thing with a simple socket-based protocol. The main process could listen on a socket and wait for any of the sub-processes to connect and send a message via the socket. Larry Hiscock Western Computer Services -Original Message- From: owner-u2-us...@listserver.u2ug.org [mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of Tom Whitmore Sent: Thursday, February 26, 2009 12:25 PM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Inter-Process Control... I agree. I wrote two little programs. LOCK.TEST1 0001 LOCK 60 ELSE CRT '60 LOCKED' 0002 CRT 'UNLOCKED' LOCK.TEST2 0001 UNLOCK 60 0002 CRT '60 WAS UNLOCKED' LOCK.TEST1 locked 60 displayed unlocked. LOCK.TEST2 generated the error ' Program LOCK.TEST2: Line 1, Lock 60 not owned by calling process' and then displayed 60 WAS UNLOCKED. As I was playing with the test programs as I type this. it looks like the first process needs to perform the first lock. The second process will then lock, and wait on the lock until the first process unlocks. I need to be able to support many-to-one processes. The one process waits on the lock and any of the many processes need to release the lock... which the old semaphore process supported... I confess, I'm spoiled. :) Thanks Tom -Original Message- From: owner-u2-us...@listserver.u2ug.org [mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of Kevin King Sent: Thursday, February 26, 2009 2:01 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] Inter-Process Control... Tom, can you elaborate when you say the only process that can modify the lock is the one that set it. Isn't that exactly how a semaphore is supposed to work? Both processes should be able to set the lock but only one can have it at any moment in time. Or am I missing the point? --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Inter-Process Control...
One example of what I'm trying to do is develop a record lock manager (for the lack of a better description) for non-persistent connections. I need the lock manager to wakeup when there is a request for a readu/write/delete. The all the responders would need to send requests to the lock manager. We have other processes that could use this functionality as well. I hope that helps, Tom -Original Message- From: owner-u2-us...@listserver.u2ug.org [mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of iggch...@comcast.net Sent: Thursday, February 26, 2009 4:09 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] Inter-Process Control... Hey Tom, Are you trying to do something like... Program A B B B B DONE = 0 B B B B LOOP B B B B B B B B B B GOSUB ;* PROCESS STUFF B B B B B UNTIL DONE DO B B B B B B B B B B B IF SOME.EVENT THEN B B B B B B B B B B B B B B B B LOCK 10;* WAKE UP PROGRAM B B B B B B B B B B B B B END B B B B B B B B B B B LOCK 11 THEN B B B B B B B B B B B B B B B B B B B B UNLOCK 11 B B B B B B B B B B B B END ELSE B B B B B B B B B B B B B B B B B B UNLOCK 10;* PROGRAM B FINISHED B B B B B B B B B B B END B B B B B B B B B B B B SLEEP 30 B B B B B B REPEAT B B B B B B B STOP PROGRAM B B B B B B B B DONE = 0 B B B B B B LOOP B B B B B B B B B B B B B LOCK 10 THEN B B B B B B B B B B B B B B B B B B B B UNLOCK 10 B B B B B B B B B B B B B B ENDB ELSE B B B B B B B B B B B B B B B B B B B B LOCK 11 B B B B B B B B B B B B B B B B B B B B GOSUB ;* PROCESS STUFF B B B B B B B B B B B B B B B B B B B B B UNLOCK 11 B B B B B B B B B B B B B B END B B B B B B B UNTIL DONE DO B B B B B B B B B B B B B B SLEEP 30 B B B B B B B REPEAT B B B B B B B B STOP - Original Message - From: Tom Whitmore tewhitm...@ratex.com To: u2-users@listserver.u2ug.org Sent: Thursday, February 26, 2009 12:05:19 PM GMT -06:00 US/Canada Central Subject: RE: [U2] Inter-Process Control... Thank you for all the responses. I should have stated that we are a UniVerse shop. I did play with the lock/unlock but the only process that can modify the lock is the one that set it. B Also, I could not get the process to wait on the lock. B From the playing I did, lock/unlock seems very limited compared to what was available 15 years ago. Thanks Tom --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Inter-Process Control...
A point to remember if using sockets (on UniVerse) is that your phantom will become an iphantom, and thus consume a license. Regards Bernard Lubin -Original Message- From: owner-u2-us...@listserver.u2ug.org [mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of Larry Hiscock Sent: Friday, 27 February 2009 8:47 AM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Inter-Process Control... Yep ... sure miss sem$wait sem$notify. You could accomplish the same thing with a simple socket-based protocol. The main process could listen on a socket and wait for any of the sub-processes to connect and send a message via the socket. Larry Hiscock Western Computer Services -Original Message- From: owner-u2-us...@listserver.u2ug.org [mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of Tom Whitmore Sent: Thursday, February 26, 2009 12:25 PM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Inter-Process Control... I agree. I wrote two little programs. LOCK.TEST1 0001 LOCK 60 ELSE CRT '60 LOCKED' 0002 CRT 'UNLOCKED' LOCK.TEST2 0001 UNLOCK 60 0002 CRT '60 WAS UNLOCKED' LOCK.TEST1 locked 60 displayed unlocked. LOCK.TEST2 generated the error ' Program LOCK.TEST2: Line 1, Lock 60 not owned by calling process' and then displayed 60 WAS UNLOCKED. As I was playing with the test programs as I type this. it looks like the first process needs to perform the first lock. The second process will then lock, and wait on the lock until the first process unlocks. I need to be able to support many-to-one processes. The one process waits on the lock and any of the many processes need to release the lock... which the old semaphore process supported... I confess, I'm spoiled. :) Thanks Tom -Original Message- From: owner-u2-us...@listserver.u2ug.org [mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of Kevin King Sent: Thursday, February 26, 2009 2:01 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] Inter-Process Control... Tom, can you elaborate when you say the only process that can modify the lock is the one that set it. Isn't that exactly how a semaphore is supposed to work? Both processes should be able to set the lock but only one can have it at any moment in time. Or am I missing the point? --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Inter-Process Control... {Unclassified}
Tom, I don't think that 'maintaining a lock manager' is necessarily a good solution to non-persistent connections. A more conventional approach is for each connection to maintain the state of the record(s) it was going to modify - i.e. a 'before image'. Then, when it's time to apply the transaction, you lock the records (READU), and check that the records now on disk are in the same state as their before images. If they are, you can safely overwrite them. If they are not all the same as before, you unlock them and tell the user that someone else has changed the data and bad luck, please start again. This is known as the optimistic locking design philosophy. You also need a Phantom process to go through and clean out all the old 'before image' data that users never came back to. Of course, if you get too many oops-somebody-else-changed-it collisions, you may need to use persistent connections or a re-architecting of the data and/or application to reduce the frequency of collisions. Hope this helps Mike -Original Message- From: owner-u2-us...@listserver.u2ug.org On Behalf Of Tom Whitmore Sent: Friday, 27 February 2009 11:21 a.m. To: u2-users@listserver.u2ug.org Subject: RE: [U2] Inter-Process Control... One example of what I'm trying to do is develop a record lock manager (for the lack of a better description) for non-persistent connections. I need the lock manager to wakeup when there is a request for a readu/write/delete. The all the responders would need to send requests to the lock manager. We have other processes that could use this functionality as well. I hope that helps, Tom -Original Message- From: owner-u2-us...@listserver.u2ug.org [mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of iggch...@comcast.net Sent: Thursday, February 26, 2009 4:09 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] Inter-Process Control... Hey Tom, Are you trying to do something like... Program A B B B B DONE = 0 B B B B LOOP B B B B B B B B B B GOSUB ;* PROCESS STUFF B B B B B UNTIL DONE DO B B B B B B B B B B B IF SOME.EVENT THEN B B B B B B B B B B B B B B B B LOCK 10;* WAKE UP PROGRAM B B B B B B B B B B B B B END B B B B B B B B B B B LOCK 11 THEN B B B B B B B B B B B B B B B B B B B B UNLOCK 11 B B B B B B B B B B B B END ELSE B B B B B B B B B B B B B B B B B B UNLOCK 10;* PROGRAM B FINISHED B B B B B B B B B B B END B B B B B B B B B B B B SLEEP 30 B B B B B B REPEAT B B B B B B B STOP PROGRAM B B B B B B B B DONE = 0 B B B B B B LOOP B B B B B B B B B B B B B LOCK 10 THEN B B B B B B B B B B B B B B B B B B B B UNLOCK 10 B B B B B B B B B B B B B B ENDB ELSE B B B B B B B B B B B B B B B B B B B B LOCK 11 B B B B B B B B B B B B B B B B B B B B GOSUB ;* PROCESS STUFF B B B B B B B B B B B B B B B B B B B B B UNLOCK 11 B B B B B B B B B B B B B B END B B B B B B B UNTIL DONE DO B B B B B B B B B B B B B B SLEEP 30 B B B B B B B REPEAT B B B B B B B B STOP - Original Message - From: Tom Whitmore tewhitm...@ratex.com To: u2-users@listserver.u2ug.org Sent: Thursday, February 26, 2009 12:05:19 PM GMT -06:00 US/Canada Central Subject: RE: [U2] Inter-Process Control... Thank you for all the responses. I should have stated that we are a UniVerse shop. I did play with the lock/unlock but the only process that can modify the lock is the one that set it. B Also, I could not get the process to wait on the lock. B From the playing I did, lock/unlock seems very limited compared to what was available 15 years ago. Thanks Tom --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ The information contained in this Internet Email message is intended for the addressee only and may contain privileged information, but not necessarily the official views or opinions of the New Zealand Defence Force. If you are not the intended recipient you must not use, disclose, copy or distribute this message or the information in it. If you have received this message in error, please Email or telephone the sender immediately. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
[U2] Common UNIX Printing System
Hey all - is anybody using CUPS with universe? Ron Bertrand Analyst,AP SYS 3 ISD/LIS/AMS Group Health Coop 206-901-4519 --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] AUTOLOGOUT and ON.ABORT
-Original Message- From: owner-u2-us...@listserver.u2ug.org [mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of Mike Roosa Sent: Thursday, February 26, 2009 6:38 AM To: u2-users@listserver.u2ug.org Subject: [U2] AUTOLOGOUT and ON.ABORT [snip] AUTOLOGOUT process causes the ON.ABORT clause to execute. Is there an easy way using a SYSTEM() or @variable to determine that this ON.ABORT is the result of an AUTOLOGOUT? Also, is there any way to find the program / line # / error message that cause the abort when they encounter a runtime error. I know Unix has the errlog in the uv directory but I'm not seeing any of that on our Windows system. I'll answer your second question first, because it pertains to the first question in our case. We use COMO to capture the error messages from aborts. All of our programs are executed by PROCs that turn COMO on prior to executing the program. ON.ABORT saves the user's current COMO to a new, unique ID and emails the ID to a list of admins. To answer your first question, we use the following test to determine if the abort was due to AUTOLOGOUT: IF NOT(INDEX(ITEM.COMO,'Automatic Logout',1)) THEN We skip sending the email for autologouts. I don't know if there's an easier way to do it. -John --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Common UNIX Printing System
-Original Message- From: owner-u2-us...@listserver.u2ug.org [mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of Bertrand, Ron Sent: Thursday, February 26, 2009 3:13 PM To: u2-users@listserver.u2ug.org Subject: [U2] Common UNIX Printing System Hey all - is anybody using CUPS with universe? Yes, have been for years, and it works just fine. One odd problem I ran into after migrating from RH AS 3 to RH ES 5 was that the default error policy for newly created printers is stop-printer rather than retry-job. If we have a blip on a WAN link, I'd rather not have to manually restart all the printer queues for that site. I have to remember to change that setting anytime I add a new printer. -John --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] AUTOLOGOUT and ON.ABORT
In UniVerse, @ABORT.CODE is set to signify the reason code. I can't recall value set for AUTOLOGOUT though and I can't check right now. Regards David -Original Message- From: owner-u2-us...@listserver.u2ug.org [mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of Mike Roosa Sent: Friday, 27 February 2009 1:38 AM To: u2-users@listserver.u2ug.org Subject: [U2] AUTOLOGOUT and ON.ABORT We are running Universe on a Windows 2003 server and trying to set up some code to run when the user hits a runtime error. I wrote a small program to be called from ON.ABORT that logs the user id, date, time, and presents the user with a message telling them to contact support so that we can look at their problem. Our users have their AUTOLOGOUT set to 30 minutes and it looks like the AUTOLOGOUT process causes the ON.ABORT clause to execute. Is there an easy way using a SYSTEM() or @variable to determine that this ON.ABORT is the result of an AUTOLOGOUT? Also, is there any way to find the program / line # / error message that cause the abort when they encounter a runtime error. I know Unix has the errlog in the uv directory but I'm not seeing any of that on our Windows system. Thanks, Mike Roosa ** IMPORTANT MESSAGE * This e-mail message is intended only for the addressee(s) and contains information which may be confidential. If you are not the intended recipient please advise the sender by return email, do not use or disclose the contents, and delete the message and any attachments from your system. Unless specifically indicated, this email does not constitute formal advice or commitment by the sender or the Commonwealth Bank of Australia (ABN 48 123 123 124) or its subsidiaries. We can be contacted through our web site: commbank.com.au. If you no longer wish to receive commercial electronic messages from us, please reply to this e-mail by typing Unsubscribe in the subject line. ** --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Inter-Process Control... {Unclassified}
I do understand the concern, and the concept of optimistic locking. Our application will have session timeout logic, so we can clean-up any locks. We will be developing tools to keep the control records cleaned up. Our problem is that we cannot use optimistic locking for the application. Tom -Original Message- From: owner-u2-us...@listserver.u2ug.org [mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of HENDERSON MIKE, MR Sent: Thursday, February 26, 2009 6:06 PM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Inter-Process Control... {Unclassified} Tom, I don't think that 'maintaining a lock manager' is necessarily a good solution to non-persistent connections. A more conventional approach is for each connection to maintain the state of the record(s) it was going to modify - i.e. a 'before image'. Then, when it's time to apply the transaction, you lock the records (READU), and check that the records now on disk are in the same state as their before images. If they are, you can safely overwrite them. If they are not all the same as before, you unlock them and tell the user that someone else has changed the data and bad luck, please start again. This is known as the optimistic locking design philosophy. You also need a Phantom process to go through and clean out all the old 'before image' data that users never came back to. Of course, if you get too many oops-somebody-else-changed-it collisions, you may need to use persistent connections or a re-architecting of the data and/or application to reduce the frequency of collisions. Hope this helps Mike -Original Message- From: owner-u2-us...@listserver.u2ug.org On Behalf Of Tom Whitmore Sent: Friday, 27 February 2009 11:21 a.m. To: u2-users@listserver.u2ug.org Subject: RE: [U2] Inter-Process Control... One example of what I'm trying to do is develop a record lock manager (for the lack of a better description) for non-persistent connections. I need the lock manager to wakeup when there is a request for a readu/write/delete. The all the responders would need to send requests to the lock manager. We have other processes that could use this functionality as well. I hope that helps, Tom -Original Message- From: owner-u2-us...@listserver.u2ug.org [mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of iggch...@comcast.net Sent: Thursday, February 26, 2009 4:09 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] Inter-Process Control... Hey Tom, Are you trying to do something like... Program A B B B B DONE = 0 B B B B LOOP B B B B B B B B B B GOSUB ;* PROCESS STUFF B B B B B UNTIL DONE DO B B B B B B B B B B B IF SOME.EVENT THEN B B B B B B B B B B B B B B B B LOCK 10;* WAKE UP PROGRAM B B B B B B B B B B B B B END B B B B B B B B B B B LOCK 11 THEN B B B B B B B B B B B B B B B B B B B B UNLOCK 11 B B B B B B B B B B B B END ELSE B B B B B B B B B B B B B B B B B B UNLOCK 10;* PROGRAM B FINISHED B B B B B B B B B B B END B B B B B B B B B B B B SLEEP 30 B B B B B B REPEAT B B B B B B B STOP PROGRAM B B B B B B B B DONE = 0 B B B B B B LOOP B B B B B B B B B B B B B LOCK 10 THEN B B B B B B B B B B B B B B B B B B B B UNLOCK 10 B B B B B B B B B B B B B B ENDB ELSE B B B B B B B B B B B B B B B B B B B B LOCK 11 B B B B B B B B B B B B B B B B B B B B GOSUB ;* PROCESS STUFF B B B B B B B B B B B B B B B B B B B B B UNLOCK 11 B B B B B B B B B B B B B B END B B B B B B B UNTIL DONE DO B B B B B B B B B B B B B B SLEEP 30 B B B B B B B REPEAT B B B B B B B B STOP - Original Message - From: Tom Whitmore tewhitm...@ratex.com To: u2-users@listserver.u2ug.org Sent: Thursday, February 26, 2009 12:05:19 PM GMT -06:00 US/Canada Central Subject: RE: [U2] Inter-Process Control... Thank you for all the responses. I should have stated that we are a UniVerse shop. I did play with the lock/unlock but the only process that can modify the lock is the one that set it. B Also, I could not get the process to wait on the lock. B From the playing I did, lock/unlock seems very limited compared to what was available 15 years ago. Thanks Tom --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ The information contained in this Internet Email message is intended for the addressee only and may contain privileged information, but not necessarily the official views or opinions of the New Zealand Defence Force. If you are not the intended recipient you must not use, disclose, copy or distribute this message or the information in it. If you have received this message in error, please Email or telephone the sender immediately. --- u2-users mailing list
RE: [U2] Common UNIX Printing System
Yes on RHEL 4.0 -Original Message- From: owner-u2-us...@listserver.u2ug.org [mailto:owner-u2- us...@listserver.u2ug.org] On Behalf Of Bertrand, Ron Sent: Friday, 27 February 2009 12:46 p.m. To: u2-users@listserver.u2ug.org Subject: [U2] Common UNIX Printing System Hey all - is anybody using CUPS with universe? Ron Bertrand Analyst,AP SYS 3 ISD/LIS/AMS Group Health Coop 206-901-4519 --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
[U2] Maybe not the list to ask on, but SB+ generated documentation.
Am on a unidata system on a unix box. How do I generate the SB+ manuals so that I can drag them into windows? Vaguely remember doing it many moons ago on a universe system via a hold print queue. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Maybe not the list to ask on, but SB+ generated documentation.
Download here: http://www-01.ibm.com/software/data/u2/pubs/library/ -Original Message- From: owner-u2-us...@listserver.u2ug.org [mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of Jeff Ritchie Sent: Thursday, February 26, 2009 8:08 PM To: u2-users@listserver.u2ug.org Subject: [U2] Maybe not the list to ask on, but SB+ generated documentation. Am on a unidata system on a unix box. How do I generate the SB+ manuals so that I can drag them into windows? Vaguely remember doing it many moons ago on a universe system via a hold print queue. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Maybe not the list to ask on, but SB+ generated documentation.
Sorry clearly wasn't clear. In SB+ you can generate manuals for the software you have written, was wondering how to get that into a MS Word editing environment. -Original Message- From: owner-u2-us...@listserver.u2ug.org [mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of Dan Fitzgerald Sent: Friday, 27 February 2009 1:10 PM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Maybe not the list to ask on, but SB+ generated documentation. Download here: http://www-01.ibm.com/software/data/u2/pubs/library/ -Original Message- From: owner-u2-us...@listserver.u2ug.org [mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of Jeff Ritchie Sent: Thursday, February 26, 2009 8:08 PM To: u2-users@listserver.u2ug.org Subject: [U2] Maybe not the list to ask on, but SB+ generated documentation. Am on a unidata system on a unix box. How do I generate the SB+ manuals so that I can drag them into windows? Vaguely remember doing it many moons ago on a universe system via a hold print queue. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] AUTOLOGOUT and ON.ABORT
Unfortunately the @ABORT.CODE is 3 which is the same for AUTOLOGOUT as a user breaking out of a program. On Thu, Feb 26, 2009 at 7:02 PM, Hona, David david.h...@cba.com.au wrote: In UniVerse, @ABORT.CODE is set to signify the reason code. I can't recall value set for AUTOLOGOUT though and I can't check right now. Regards David -Original Message- From: owner-u2-us...@listserver.u2ug.org [mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of Mike Roosa Sent: Friday, 27 February 2009 1:38 AM To: u2-users@listserver.u2ug.org Subject: [U2] AUTOLOGOUT and ON.ABORT We are running Universe on a Windows 2003 server and trying to set up some code to run when the user hits a runtime error. I wrote a small program to be called from ON.ABORT that logs the user id, date, time, and presents the user with a message telling them to contact support so that we can look at their problem. Our users have their AUTOLOGOUT set to 30 minutes and it looks like the AUTOLOGOUT process causes the ON.ABORT clause to execute. Is there an easy way using a SYSTEM() or @variable to determine that this ON.ABORT is the result of an AUTOLOGOUT? Also, is there any way to find the program / line # / error message that cause the abort when they encounter a runtime error. I know Unix has the errlog in the uv directory but I'm not seeing any of that on our Windows system. Thanks, Mike Roosa ** IMPORTANT MESSAGE * This e-mail message is intended only for the addressee(s) and contains information which may be confidential. If you are not the intended recipient please advise the sender by return email, do not use or disclose the contents, and delete the message and any attachments from your system. Unless specifically indicated, this email does not constitute formal advice or commitment by the sender or the Commonwealth Bank of Australia (ABN 48 123 123 124) or its subsidiaries. We can be contacted through our web site: commbank.com.au. If you no longer wish to receive commercial electronic messages from us, please reply to this e-mail by typing Unsubscribe in the subject line. ** --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Maybe not the list to ask on, but SB+ generated documentation.
Gidday Jeff, Reasonably certain you can also specify output to file. Output To Screen/Printer/File (S/P/F) ? Enter option: S creen, P rinter or F ile (xxUSERTEXT $FILEport.page). (F3) Convert xxUSERTEXT to a dir type file (aka UV type 19) and you should be able to pick up the parts using ftp, samba, nfs etc Cheers, Stuart -Original Message- Am on a unidata system on a unix box. How do I generate the SB+ manuals so that I can drag them into windows? Vaguely remember doing it many moons ago on a universe system via a hold print queue. ** This email message and any files transmitted with it are confidential and intended solely for the use of addressed recipient(s). If you have received this communication in error, please reply to this e-mail to notify the sender of its incorrect delivery and then delete it and your reply. It is your responsibility to check this email and any attachments for viruses and defects before opening or sending them on. Spotless collects information about you to provide and market our services. For information about use, disclosure and access, see our privacy policy at http://www.spotless.com.au Please consider our environment before printing this email. ** --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Maybe not the list to ask on, but SB+ generated documentation.
Thanks Stu, hadn't thought of simply converting the file :) That should have our document written happy with life, microsoft, and lots and losts of words. Jeff -Original Message- From: owner-u2-us...@listserver.u2ug.org [mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of Boydell, Stuart Sent: Friday, 27 February 2009 2:35 PM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Maybe not the list to ask on, but SB+ generated documentation. Gidday Jeff, Reasonably certain you can also specify output to file. Output To Screen/Printer/File (S/P/F) ? Enter option: S creen, P rinter or F ile (xxUSERTEXT $FILEport.page). (F3) Convert xxUSERTEXT to a dir type file (aka UV type 19) and you should be able to pick up the parts using ftp, samba, nfs etc Cheers, Stuart -Original Message- Am on a unidata system on a unix box. How do I generate the SB+ manuals so that I can drag them into windows? Vaguely remember doing it many moons ago on a universe system via a hold print queue. ** This email message and any files transmitted with it are confidential and intended solely for the use of addressed recipient(s). If you have received this communication in error, please reply to this e-mail to notify the sender of its incorrect delivery and then delete it and your reply. It is your responsibility to check this email and any attachments for viruses and defects before opening or sending them on. Spotless collects information about you to provide and market our services. For information about use, disclosure and access, see our privacy policy at http://www.spotless.com.au Please consider our environment before printing this email. ** --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] AUTOLOGOUT and ON.ABORT
If you turn on the errlog file in /u1/uv you may get a message in there for an AUTOLOGOUT. I'm pretty sure I've seen such messages in the past. You will have the user name, the PID and some text describing the error. The errlog file only keeps the last 1001 error messages so you might want to have a cron job back them up with a date time stamp periodically during the day. - Original Message Our users have their AUTOLOGOUT set to 30 minutes and it looks like the AUTOLOGOUT process causes the ON.ABORT clause to execute. Is there an easy way using a SYSTEM() or @variable to determine that this ON.ABORT is the result of an AUTOLOGOUT? --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/