Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Feb 1995 18:44:11 +0100 (MET)
From:      j@uriah.sax.de (J Wunsch)
To:        freebsd-hackers@FreeBSD.org (FreeBSD hackers)
Subject:   Re: longjump in kernel
Message-ID:  <199502061744.SAA17073@bonnie.tcd-dresden.de>
In-Reply-To: <199502041119.GAA26711@hda.com> from "Peter Dufault" at Feb 4, 95 06:19:41 am

next in thread | previous in thread | raw e-mail | index | archive | help
As Peter Dufault wrote:
| 
| To set an alarm:
|  -Use "sleep" to wait for the interrupt while in the user process context;
|  -Use "wakeup" from the vertical sync interrupt to continue the blocked context;
|  -Use "timeout" to set a timeout function that will wakeup the context with
|   an error indication set in the event of loss of interrupt.  Return
|   an error code to the user process;
|  -Use "untimeout" to cancel the timeout if the interrupt comes in
|   on time.

Better yet, use tsleep() which does 1), 3) and 4) of the above, and
allows for a short descriptive string indicating the sleep reason when
looking at the `ps' output.

If the timeout hit, the tsleep() returns EWOULDBLOCK.

| This must be covered in the "The Design of the 4.3 OS" book by
| Leffler, Mckusick, and Karels. (Addison Wesley?  We should add a
| bibliography section to the FAQ)

Or time for another manual section covering kernel internal functions.
(Btw., Data General's DG/UX used to have a subsection of section 3
covering the kernel functions in recent releases.)

-- 
cheers, J"org                             work:      --- no longer ---
                                          private:   joerg_wunsch@uriah.sax.de

Never trust an operating system you don't have sources for. ;-)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199502061744.SAA17073>