Status in source: current.
Technical details
{
"smi_kind": "OBJECT-TYPE",
"definition": [
"ups07TestSpinLock",
"OBJECT-TYPE",
"SYNTAX",
"TestAndIncr",
"MAX-ACCESS",
"read-only",
"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 = ups07TestSpinLock /* no test in progress, start the test */ set (upsTestSpinLock = lock_value, ups07TestId = 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 ups07TestResultsSummary */ get (upsTestSpinLock, ups07TestResultsSummary, ups07TestResultsDetail) while (upsTestResultsSummary == inProgress) { short delay get (upsTestSpinLock, ups07TestResultsSummary, ups07TestResultsDetail) } /* when test completes, retrieve any additional test results */ /* if ups07TestSpinLock == lock_value + 1, then these are our test */ /* results (as opposed to another manager's */ The initial value of ups07TestSpinLock at agent initialization shall be 1.\"",
"::=",
"{",
"ups07Test",
"2",
"}"
],
"syntax_tree": [
[
"row",
"TestAndIncr"
],
null,
[
"MaxAccessPart",
"read-only"
],
[
"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 = ups07TestSpinLock /* no test in progress, start the test */ set (upsTestSpinLock = lock_value, ups07TestId = 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 ups07TestResultsSummary */ get (upsTestSpinLock, ups07TestResultsSummary, ups07TestResultsDetail) while (upsTestResultsSummary == inProgress) { short delay get (upsTestSpinLock, ups07TestResultsSummary, ups07TestResultsDetail) } /* when test completes, retrieve any additional test results */ /* if ups07TestSpinLock == lock_value + 1, then these are our test */ /* results (as opposed to another manager's */ The initial value of ups07TestSpinLock at agent initialization shall be 1."
],
null,
null,
null,
null
]
}