Sponsored Content
Full Discussion: Atomicity
Top Forums Programming Atomicity Post 50910 by jim mcnamara on Wednesday 5th of May 2004 10:36:02 AM
Old 05-05-2004
If you mean 'will the entire if statement be evaluated atomically'
-- the answer is No. It cannot be guaranteed.

Once the quantum expires (your timeslice is used up), some other process can pre-empt the processor. Assuming I understood your question correctly.
 
sched_rr_get_interval(3)				     Library Functions Manual					  sched_rr_get_interval(3)

NAME
sched_rr_get_interval - Returns the current quantum for process execution under the SCHED_RR policy (P1003.1b) LIBRARY
Realtime Library (librt.so, librt.a) SYNOPSIS
#include <sched.h> int sched_rr_get_interval ( pid_t pid, struct timespec *interval); PARAMETERS
pid Specifies the ID of the process for which the quantum is to be returned. *interval Specifies the location to receive the current quantum for process execution under the SCHED_RR scheduling policy. DESCRIPTION
The sched_rr_get_interval function updates the timespec structure referenced by the interval argument to contain the current quantum for the process executing under the SCHED_RR policy. If a process running under the round-robin scheduling policy runs without blocking or yielding for more than this amount of time, it may be preempted by another runnable process (at the same priority). If the PID argument is zero, the current execution time limit for the calling process is returned. No special privileges are needed to use the sched_rr_get_interval function. RETURN VALUES
On a successful call, a value of 0 (zero) is returned. On an unsuccessful call, a value of -1 is returned and errno is set to indicate the error. ERRORS
The sched_rr_get_interval fails under the following condition: [ESRCH] The value of the pid parameter does not indicate an existing process. RELATED INFORMATION
Functions: sched_getparam(3), sched_getscheduler(3), sched_setparam(3), sched_setscheduler(3) Guide to Realtime Programming delim off sched_rr_get_interval(3)
All times are GMT -4. The time now is 03:53 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy