Skip to Main Content
Hands-On System Programming with Linux
book

Hands-On System Programming with Linux

by Kaiwan N. Billimoria, Tigran Aivazian
October 2018
Beginner content levelBeginner
794 pages
19h 23m
English
Packt Publishing
Content preview from Hands-On System Programming with Linux

The nanosleep system call

Linux provides a system call, nanosleep(2), that in theory can provide nanosecond-level granularity, that is, a sleep of a single nanosecond. (Well, in practice, the granularity will also depend on the resolution of the hardware timer chip on the board.) This is the prototype of this API:

#include <time.h>int nanosleep(const struct timespec *req, struct timespec *rem);

The system call has two parameters both are pointers to structure of data type struct timespec; this structure definition is as follows:

struct timespec {    time_t tv_sec; /* seconds */    long tv_nsec;  /* nanoseconds */};

Obviously, this allows you to specify the sleep time in seconds and nanoseconds; the first parameter req is the required time (s.ns ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Linux System Programming Techniques

Linux System Programming Techniques

Jack-Benny Persson
Linux Device Drivers, Second Edition

Linux Device Drivers, Second Edition

Jonathan Corbet, Alessandro Rubini

Publisher Resources

ISBN: 9781788998475Supplemental Content