|
Hi Don, long time no talk to :) Frame of reference issue. Mutex is the AS/400 name for the thing. A Mutex is an implementation of the class semaphore. There may be a semaphore that is distinct from the mutex in the IPC stuff (inter-process communication). They both use hardware instructions named either "test and set" or "compare and swap". These are functionally similar atomic instructions that compare a memory location to a value - for example, is the semaphore S equal to zero. If the location equals the value (if S=0), then set S=1 and set a successful result; else set a failed result. The AS/400 also supports a wait value for its compare and swap. The compare-and-swap functionality is required for all multi-user, multi-program, multi-CPU, or multi-anything on a computer. It is the method used to protect shared memory locations from simultaneous updates that would corrupt them. Richard Jackson mailto:richardjackson@richardjackson.net www.richardjacksonltd.com Voice: 1 (303) 808-8058 Fax: 1 (303) 663-4325 -----Original Message----- From: owner-midrange-l@midrange.com [mailto:owner-midrange-l@midrange.com]On Behalf Of Schenck, Don Sent: Thursday, July 20, 2000 8:47 AM To: 'MIDRANGE-L@midrange.com' Subject: RE: MTXW Status Doesn't a semaphore use a mutex? -----Original Message----- From: Richard Jackson [mailto:richardjackson@richardjackson.net] Sent: July 20, 2000 10:14 AM To: MIDRANGE-L@midrange.com Subject: RE: MTXW Status The jobs you see are coded to require access to a particular Mutex before they can continue. If they want to run but cannot acquire the Mutex, they wait. Mutexes are usually "gates" so that two applications do not simultaneously update a piece of shared memory. The holder of the mutex can update the memory, other programs must wait until they can acquire the mutex before being allowed to update the shared memory. Suppose that job 1 and job 2 must acquire mutex X before executing. Suppose that job acquires X then job 2 wants X. Job 2 will wait for X until job 1 releases it. During this time, job 2 will show mutex-wait. The reason that they acquire the mutex is known by the jobs and is implicit in their design but may not be obvious from the outside and might even be considered confidential by the program designer. It is possible that that the party who created the application is holding the mutex longer than they should - that there is some kind of error. It is also possible that holding the mutex for 5 minutes is necessary for the design to work. It is pretty difficult to know what is happening from this point of view. I believe that this is one reason you sent the note - you wanted to know and you couldn't figure it out. At one time, the JDEdwards OneWorld UBE applications used mutexes to serialize access to certain spec files in the IFS file system. If that is the issue, I know a bit more about that - please contact me off line. Richard Jackson mailto:richardjackson@richardjackson.net www.richardjacksonltd.com Voice: 1 (303) 808-8058 Fax: 1 (303) 663-4325 -----Original Message----- From: owner-midrange-l@Midrange.com [mailto:owner-midrange-l@Midrange.com]On Behalf Of Marion, Bob Sent: Thursday, July 20, 2000 7:43 AM To: 'Midrange-L@Midrange.com' Subject: MTXW Status Any suggestions on the best way to troubleshoot the root cause of jobs going to a MTXW status on an intermittent basis. The WRKACTJOB screen shows many job in a MTXW status for up to 5 minutes on rare occasions, however I have checked joblogs, performance data. etc. and can not locate the cause and during this time the data is not accessible. The help text for MTXW is as follows The initial thread of the job is in a mutex wait. A mutex is a synchronization function that is used to allow multiple jobs or processes to serialize their access to shared data. Bob Marion EMail: bob.marion@ps.net +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to MIDRANGE-L@midrange.com. | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com. | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +--- +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to MIDRANGE-L@midrange.com. | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com. | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +--- +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to MIDRANGE-L@midrange.com. | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com. | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +--- +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to MIDRANGE-L@midrange.com. | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com. | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.