A program is a collection of code and data programs

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: es: 1 2 if ((pid = fork()) < 0) unix_error("fork error"); We can simplify our code even further by using a error-handling wrappers. For a given base function foo, we define a wrapper function Foo with identical arguments, but with the first letter of the name capitalized. The wrapper calls the base function, checks for errors and terminates if there are any problems. For example, here is the error-handling wrapper for the fork function: 1 2 3 4 5 6 7 8 pid_t Fork(void) { pid_t pid; if ((pid = fork()) < 0) unix_error("Fork error"); return pid; } Given this wrapper, our call to fork shrinks to a single compact line: 1 pid = Fork(); We will use error-handling wrappers throughout the remainder of this book. They allow us to keep our code examples concise, without giving you the mistaken impression that it is permissible to ignore errorchecking. Note that when we discuss system-level functions in the text, we will always refer to them by their lower-case base names, rather than by their upper-case wrapper names. See Appendix A for a discussion of Unix erro...
View Full Document

This note was uploaded on 09/02/2010 for the course ELECTRICAL 360 taught by Professor Schultz during the Spring '10 term at BYU.

Ask a homework question - tutors are online