Current Page: NeXtMidas Training Primitives Primitive Restarts Using Restarts
| Using Restarts: When is a restart used? Restarts are used when changes to one primitive affect other primitives as well. The most common example is changing the frame size of a pipe while the pipe is running. When the writer of a pipe needs to change one of the fundamental attributes of the pipe it must use a restart since all of the readers of that pipe are also affected. How do I know if a restart is needed? Only the primitive initiating the restart needs to be told that a restart is needed. Any subsequent primitives reading a pipe that was written by a primitive that is being restarted are automatically notified that a restart is needed. Is there a way to alter the way a primitive handles a restart? Yes, this will be discussed in the next few pages. Will any data be lost? No, data will not be lost during a pipe restart, except where a primitive explicitly discards the data. Some primitives only work with a fixed transfer length and may discard data when a restart lies in between two transfer lengths. Is there a way to alter the way a primitive handles a restart? Yes, this will be discussed in the next few pages.