On Fri, Aug 7, 2009 at 7:49 AM, Stuart Henderson<s...@spacehopper.org> wrote:
> On 2009-08-05, Philip Guenther <guent...@gmail.com> wrote:
>> On Wed, Aug 5, 2009 at 4:10 AM, Toni Mueller<openbsd-m...@oeko.net> wrote:
>>> On Sat, 01.08.2009 at 17:13:43 +0300, Jussi Peltola <pe...@pelzi.net>
wrote:
>>>> Why should fork touch user id's?
>>>
>>> I was under the impression that only the effective userid should be
>>> inherited by a forked process, not the real user id.
>>
>> Make a note that whatever source of information you got that from was
>> wrong and should not be trusted.  I suggest you read W. Richard
>> Stevens's "Advanced Programming in the UNIX Environment".
>
> Anyone know how important the changes between the first and second edition
> of this are? (The older one's a lot cheaper..)


>From the 2nd Edition (excuse any typos):

Page xxii

Changes from the First Edition

Rich's work holds up well. I've tried not to change his original
vision for this book, but a lot has happened in 13 years. This is
especially true with the standards that affect the UNIX programming
interface.

Throughout the book, I've updated interfaces that have changed from
the ongoing efforts in standards organizations. This is most
noticeable in Chapter 2, since its primary topic is standards. The
2001 version of the POSIX.1 standard, which we use in this revision,
is much more comprehensive than the 1990 version on which the first
edition of this book was based. The 1990 ISO C standard was updated in
1999, and some changes affect the interfaces in the POSIX.1 standard.

A lot more interfaces are now covered by the POSIX.1 specification.
The base specifications of the Single UNIX Specification (published by
THe Open Group, formerly X/Open) have been merged with POSIX.1. POSI.1
now includes several 1003.1 standards and draft standards that were
formerly published separately.

Accordingly, I've added chapters to cover some new topics. Threads and
multithreaded programming are important concepts because they present
a cleaner way for programmers to deal with concurrency and asynchrony.

The socket interface is now part of  POSIX.1. It provides a single
interface to interprocess communication (IPC), regardless of the
location of the process, and is a natural extension of the IPC
chapters.

I've omitted most of the real-time interfaces that appear in POSIX.1.
These are best treated in a text devoted to real-0time programming.
Once such book appears in the bibliography.

I've updated the case studies in the last chapters to cover more
relevant real-world examples. For example, few systems these days are
connected to a PostScript printer via a serial or parallel port. Most
PostScript printers today are accessed via a network so I've changed
the case study that deals with PostScript printer communication to
take this into account.

The chapter on modem communication is less relevant these days. So
that the original material is not lost, however, it is available on
the book's Wb site in two formats: PostScript
(http:/www.apuebook.com/lostchapter/modem.ps) and PDF (... .pdf).

The source code for the examples shown in this book is also available
at www.apubook.com. Most of the examples have been run on four
platforms:

1. FreeBSD 5.2.1, a derivative of the 4.4BSD release from the COmputer
Systems Research Group at the University of California at Berkeley,
running on an Intel Pentium processor

2. Linux 2.4.22 (the Mandrake 9.2 distribution), a free UNIX-like
operating system, running on Intel Pentium processors

3. SOlaris 9, a derivative of Sysstem V Release 4 from Sun
Microsystems, running on a 64-bit UltraSPARC IIi processor

4. Darwin 7.4.0, an operating environment based on FreeBSD and Mach,
supported by Aple Mac OS X, version 10.3, on a PowerPC processor

Reply via email to