07-06-2010
The pthread_delay_np function exists on Tru64 UNIX, but not on HP-UX. This function will be available on a temporary basis in the Tru64 UNIX Migration Environment for HP-UX.
The pthread_delay_np function is a nonportable equivalent to the POSIX standard function nanosleep. Both accept a time interval using a standard POSIX struct timespec structure, which defines the interval in seconds and nanoseconds, and suspend the calling thread for at least as long as the specified interval. The major functional difference is that pthread_delay_np is based on a timed condition variable wait: it computes an absolute target time by adding the interval to the current system time, and waits until that target time arrives, disregarding any signals delivered to the thread. Changes to the system time will affect the actual interval waited. The nanosleep function waits for the specified interval regardless of system time changes; however, if a signal is delivered to the thread, and dismissed normally, nanosleep will return to the caller and can optionally return the remaining interval.
The Migration Environment contains Tru64 UNIX APIs, development tools, and commands and utilities to assist customers in migrating their applications from Tru64 UNIX to HP-UX.
_______________________________________________________________
apartamentos amueblados panama
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi, folks.
Sorry for bothering, but maybe someone could help me please.
The problem is the following:
there is some script that copies files from local file system to AFS. The copying is performed with dd command.
The script copies data into some AFS volumes.
The problem appeared with one... (0 Replies)
Discussion started by: Anta
0 Replies
2. Shell Programming and Scripting
Hi
Please help me with the following problem with my script.
The following block of code is not repeating in the while loop and exiting after searching for first message.
input_file
==========
host001-01
host001-02
2008-07-23 13:02:04,651 ConnectionFactory - Setting session state... (2 Replies)
Discussion started by: pcjandyala
2 Replies
3. Solaris
Hi
I am right now facing a strange hardware problem. System get booted with the following error:
Fatal Error Reset
CPU 0000.0000.0000.0003 AFSR 0100.0000.0000.0000 SCE
AFAR 0000.07c6.0000.1000
SC Alert: Host System has Reset
It happen 4 or 5 times and get the same error every time.I... (8 Replies)
Discussion started by: girish.batra
8 Replies
4. AIX
1) when user login to the server the session got colosed. How will resolve?
2) While firing the command ls -l we are not able to see the any files in the director. but over all view the file system using the command df -g it is showing 91% used. what will be the problem?
Thanks in advance. (1 Reply)
Discussion started by: pernasivam
1 Replies
5. Red Hat
Hi,
i've a redhat linux 9 upadated by redhat from 7 version to 9 version. A couple of days ago i was a problem with my mail, in other words i'm not able to get any email nor to send any email. I've a proxy configuration and i tried to set iptables in order to verify the port. The 110,255 and 995... (1 Reply)
Discussion started by: pintalgi
1 Replies
6. UNIX for Dummies Questions & Answers
At work I am trying to get this one Linux machine (let's call it ctesgm07) to behave like another Linux machine that we have (let's call it test007).
test007 returns the following version info:
cat /etc/debian_version: lenny/sid
uname -a: Linux test007 2.6.27-7-generic #1 SMP Tue Nov 4... (0 Replies)
Discussion started by: sllinux
0 Replies
7. AIX
Dear ALL.
I installed AIX OS on customer sites.
but Only one site is too slow when I connected telnet, ftp..
Ping is too fast. but telnet and FTP is not connected..
of course i check the configuration file on aix but it's normal.
Do any Idea??
thanks in advance.
- Jun - (3 Replies)
Discussion started by: Jeon Jun Seok
3 Replies
8. IP Networking
Hi,
This is rather a question from a "user" than from a sys admin, but I think this forum is apropriate for the question.
I have an adress with automatic email forwarding and for some senders (two hietherto), emails are bouncing. This has really created a lot of problems those two time so I... (0 Replies)
Discussion started by: carwe
0 Replies
9. UNIX for Dummies Questions & Answers
I don't know if you guys get this problem sometimes at Terminal but I had been having this problem since yesterday :( Maybe I overdid the Terminal. Even the codes that used to work doesn't work anymore.
Here is what 's happening:
* I wanted to remove lines containing digits so I used this... (25 Replies)
Discussion started by: Nexeu
25 Replies
10. IP Networking
Hi everyone,
I am experiencing discontinuity of Internet service, this started 1 month ago. Everything worked very well for 1 year of intensive use, but now, I have problems reaching my gateway.
The gateway is not my router but a node belonging to my ISP and I share the same public IP with... (3 Replies)
Discussion started by: remic
3 Replies
LEARN ABOUT CENTOS
nanosleep
NANOSLEEP(2) Linux Programmer's Manual NANOSLEEP(2)
NAME
nanosleep - high-resolution sleep
SYNOPSIS
#include <time.h>
int nanosleep(const struct timespec *req, struct timespec *rem);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
nanosleep(): _POSIX_C_SOURCE >= 199309L
DESCRIPTION
nanosleep() suspends the execution of the calling thread until either at least the time specified in *req has elapsed, or the delivery of a
signal that triggers the invocation of a handler in the calling thread or that terminates the process.
If the call is interrupted by a signal handler, nanosleep() returns -1, sets errno to EINTR, and writes the remaining time into the struc-
ture pointed to by rem unless rem is NULL. The value of *rem can then be used to call nanosleep() again and complete the specified pause
(but see NOTES).
The structure timespec is used to specify intervals of time with nanosecond precision. It is defined as follows:
struct timespec {
time_t tv_sec; /* seconds */
long tv_nsec; /* nanoseconds */
};
The value of the nanoseconds field must be in the range 0 to 999999999.
Compared to sleep(3) and usleep(3), nanosleep() has the following advantages: it provides a higher resolution for specifying the sleep
interval; POSIX.1 explicitly specifies that it does not interact with signals; and it makes the task of resuming a sleep that has been
interrupted by a signal handler easier.
RETURN VALUE
On successfully sleeping for the requested interval, nanosleep() returns 0. If the call is interrupted by a signal handler or encounters
an error, then it returns -1, with errno set to indicate the error.
ERRORS
EFAULT Problem with copying information from user space.
EINTR The pause has been interrupted by a signal that was delivered to the thread. The remaining sleep time has been written into *rem so
that the thread can easily call nanosleep() again and continue with the pause.
EINVAL The value in the tv_nsec field was not in the range 0 to 999999999 or tv_sec was negative.
CONFORMING TO
POSIX.1-2001.
NOTES
If the interval specified in req is not an exact multiple of the granularity underlying clock (see time(7)), then the interval will be
rounded up to the next multiple. Furthermore, after the sleep completes, there may still be a delay before the CPU becomes free to once
again execute the calling thread.
The fact that nanosleep() sleeps for a relative interval can be problematic if the call is repeatedly restarted after being interrupted by
signals, since the time between the interruptions and restarts of the call will lead to drift in the time when the sleep finally completes.
This problem can be avoided by using clock_nanosleep(2) with an absolute time value.
POSIX.1 specifies that nanosleep() should measure time against the CLOCK_REALTIME clock. However, Linux measures the time using the
CLOCK_MONOTONIC clock. This probably does not matter, since the POSIX.1 specification for clock_settime(2) says that discontinuous changes
in CLOCK_REALTIME should not affect nanosleep():
Setting the value of the CLOCK_REALTIME clock via clock_settime(2) shall have no effect on threads that are blocked waiting for a
relative time service based upon this clock, including the nanosleep() function; ... Consequently, these time services shall expire
when the requested relative interval elapses, independently of the new or old value of the clock.
Old behavior
In order to support applications requiring much more precise pauses (e.g., in order to control some time-critical hardware), nanosleep()
would handle pauses of up to 2 ms by busy waiting with microsecond precision when called from a thread scheduled under a real-time policy
like SCHED_FIFO or SCHED_RR. This special extension was removed in kernel 2.5.39, hence is still present in current 2.4 kernels, but not
in 2.6 kernels.
BUGS
In Linux 2.4, if nanosleep() is stopped by a signal (e.g., SIGTSTP), then the call fails with the error EINTR after the thread is resumed
by a SIGCONT signal. If the system call is subsequently restarted, then the time that the thread spent in the stopped state is not counted
against the sleep interval.
SEE ALSO
clock_nanosleep(2), restart_syscall(2), sched_setscheduler(2), timer_create(2), sleep(3), usleep(3), time(7)
COLOPHON
This page is part of release 3.53 of the Linux man-pages project. A description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
Linux 2013-07-30 NANOSLEEP(2)