upsTestSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (upsTestSpinLock)
}
lock_value = upsTestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, upsTestId =
requested_test)
if (error_index == 1) { /* (upsTestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
upsTestResultsSummary */
get (upsTestSpinLock, upsTestResultsSummary,
upsTestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, upsTestResultsSummary,
upsTestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if upsTestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another managers */
The initial value of upsTestSpinLock at agent
initialization shall
be 1."
View at oid-info.com
A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (upsTestSpinLock)
}
lock_value = upsTestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, upsTestId =
requested_test)
if (error_index == 1) { /* (upsTestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
upsTestResultsSummary */
get (upsTestSpinLock, upsTestResultsSummary,
upsTestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, upsTestResultsSummary,
upsTestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if upsTestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of upsTestSpinLock at agent
initialization shall
be 1.
Parsed from file UPS.mib.txt
Company: None
Module: UPS-MIB
A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (upsTestSpinLock)
}
lock_value = upsTestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, upsTestId =
requested_test)
if (error_index == 1) { /* (upsTestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
upsTestResultsSummary */
get (upsTestSpinLock, upsTestResultsSummary,
upsTestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, upsTestResultsSummary,
upsTestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if upsTestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of upsTestSpinLock at agent
initialization shall
be 1.
Parsed from file UPS-MIB.mib
Module: UPS-MIB
Automatically extracted from RFC1628
upsTestSpinLock OBJECT-TYPE SYNTAX TestAndIncr ACCESS read-write STATUS mandatory DESCRIPTION "A spin lock on the test subsystem. The spinlock is used as follows. Before starting a test, a manager-station should make sure that a test is not in progress as follows: try_again: get (upsTestSpinLock) while (upsTestResultsSummary == inProgress) { /* loop while a test is running for another manager */ short delay get (upsTestSpinLock) } lock_value = upsTestSpinLock /* no test in progress, start the test */ set (upsTestSpinLock = lock_value, upsTestId = requested_test) if (error_index == 1) { /* (upsTestSpinLock failed) */ /* if problem is not access control, then some other manager slipped in ahead of us */ goto try_again } if (error_index == 2) { /* (upsTestId) */ /* cannot perform the test */ give up } /* test started ok */ /* wait for test completion by polling upsTestResultsSummary */ get (upsTestSpinLock, upsTestResultsSummary, upsTestResultsDetail) while (upsTestResultsSummary == inProgress) { short delay get (upsTestSpinLock, upsTestResultsSummary, upsTestResultsDetail) } /* when test completes, retrieve any additional test results */ /* if upsTestSpinLock == lock_value + 1, then these are our test */ /* results (as opposed to another manager's */ The initial value of upsTestSpinLock at agent initialization shall be 1." ::= { upsTest 2 }
upsTestSpinLock OBJECT-TYPE SYNTAX TestAndIncr MAX-ACCESS read-write STATUS current DESCRIPTION "A spin lock on the test subsystem. The spinlock is used as follows. Before starting a test, a manager-station should make sure that a test is not in progress as follows: try_again: get (upsTestSpinLock) while (upsTestResultsSummary == inProgress) { /* loop while a test is running for another manager */ short delay get (upsTestSpinLock) } lock_value = upsTestSpinLock /* no test in progress, start the test */ set (upsTestSpinLock = lock_value, upsTestId = requested_test) if (error_index == 1) { /* (upsTestSpinLock failed) */ /* if problem is not access control, then some other manager slipped in ahead of us */ goto try_again } if (error_index == 2) { /* (upsTestId) */ /* cannot perform the test */ give up } /* test started ok */ /* wait for test completion by polling upsTestResultsSummary */ get (upsTestSpinLock, upsTestResultsSummary, upsTestResultsDetail) while (upsTestResultsSummary == inProgress) { short delay get (upsTestSpinLock, upsTestResultsSummary, upsTestResultsDetail) } /* when test completes, retrieve any additional test results */ /* if upsTestSpinLock == lock_value + 1, then these are our test */ /* results (as opposed to another manager's */ The initial value of upsTestSpinLock at agent initialization shall be 1." ::= { upsTest 2 }
Internet Assigned Numbers Authority
OID | Name | Sub children | Sub Nodes Total | Description |
---|---|---|---|---|
1.3.6.1.2.1.33.1.7.2.0 | upsTestSpinLock | 0 | 0 | None |
OID | Name | Sub children | Sub Nodes Total | Description |
---|---|---|---|---|
1.3.6.1.2.1.33.1.7.1 | upsTestId | 1 | 1 | The test is named by an OBJECT IDENTIFIER which allows a standard mechanism for the initiation of tests, including the well known… |
1.3.6.1.2.1.33.1.7.3 | upsTestResultsSummary | 1 | 1 | The results of the current or last UPS diagnostics test performed. The values for donePass(1), doneWarning(2), and doneError(3) … |
1.3.6.1.2.1.33.1.7.4 | upsTestResultsDetail | 1 | 1 | Additional information about upsTestResultsSummary. If no additional information available, a zero length string is returned. |
1.3.6.1.2.1.33.1.7.5 | upsTestStartTime | 1 | 1 | The value of sysUpTime at the time the test in progress was initiated, or, if no test is in progress, the time the previous test … |
1.3.6.1.2.1.33.1.7.6 | upsTestElapsedTime | 1 | 1 | The amount of time, in TimeTicks, since the test in progress was initiated, or, if no test is in progress, the previous test took… |
1.3.6.1.2.1.33.1.7.7 | upsWellKnownTests | 5 | 10 | None |