|
|
Debug only
Controls the synchronization of several debug processes on a single terminal.
Syntax
TERM
TERM LIST
TERM NEXT
Terminal locking allows multiple processes to use a single terminal for
debugging without confusion.
TERM LIST shows information about processes waiting for the terminal
semaphore.
TERM NEXT grants the terminal to the process at the head of the
waiting list.
Exiting, continuing, and stepping from the debugger perform an implicit
TERM NEXT command.
Parameters
- TERM
Lists information about processes waiting to enter the debugger for
the current session.
- TERM LIST
Lists information about processes waiting to enter the debugger for
the current session.
- TERM NEXT
If we own the terminal semaphore, release it and allow the next
process waiting for it to enter the debugger. Our process is then queued
at the end of the list for the semaphore.
Related environment variables: TERM_LOCKING.
Examples
$(3b) nmdebug > = 2 + 2
$4
PIN 4c is waiting to enter Debug
$(3b) nmdebug > term list
Current term owner: 3b Next pin: 1a # Waiting pins: 2
A processes has just notified us that it is waiting to enter
Debug. We then list information about the waiting PINS. We see that
there are two PINs waiting and the first PIN in the queue is 1a.
$(3b) nmdebug > term next
PIN 3b is waiting to enter Debug
$(1a) nmdebug > term list
Current term owner: 1a Next pin: 4c # Waiting pins: 2
We gave away the semaphore and let the next PIN into Debug
(PIN 1a). This placed us (PIN 3b) at the end of the queue. We next
listed information about the waiting PINs and see that PIN 4c has
moved to the front of the queue.
Limitations, Restrictions
Due to the implementation of semaphores, Debug cannot list
all of the PINs in the queue, just the first one and a count.
|