82 lines
2.5 KiB
Groff
82 lines
2.5 KiB
Groff
'\"macro stdmacro
|
|
.TH "Frame Scheduler" 3
|
|
.SH NAME
|
|
\f4frs_setattr\fP, \f4frs_pthread_setattr\fP \- set frame scheduler attributes
|
|
.SH SYNOPSIS
|
|
\f4#include <sys/frs.h>\f1
|
|
.br
|
|
\f4#include <pthread.h>\f1
|
|
.P
|
|
\f4int frs_setattr(frs_t* \f2frs\fP, int \f2minor_frame\fP, pid_t \f2pid\fP, frs_attr_t \f2attribute\fP, void* \f2param\fP);\f1
|
|
.P
|
|
\f4int frs_pthread_setattr(frs_t* \f2frs\fP, int \f2minor_frame\fP, pthread_t \f2pthread\fP, frs_attr_t \f2attribute\fP, void* \f2param\fP);\f1
|
|
.fi
|
|
.SH DESCRIPTION
|
|
\f4frs_setattr\fP and \f4frs_pthread_setattr\fP set the specified \f2attribute\fP
|
|
of frame scheduler \f2frs\fP.
|
|
.P
|
|
The \f2attribute\fP may be one of the following:
|
|
.TP 5
|
|
\f4FRS_ATTR_RECOVERY\fP
|
|
When recovery attributes are selected, a recovery policy for \f2frs\fP
|
|
may be defined and \f2param\fP is a pointer to a user allocated frs_recv_info_t
|
|
structure.
|
|
.TP 5
|
|
\f4FRS_ATTR_SIGNALS\fP
|
|
When signal attributes are selected, the frame scheduler signals may
|
|
be redefined and \f2param\fP is a pointer to a user allocated frs_signal_info_t
|
|
structure. The redefinable frame scheduler signals are as follows:
|
|
.P
|
|
.in +1i
|
|
sig_underrun
|
|
Notify FRS controller of underrun conditions: SIGUSR1
|
|
.sp
|
|
sig_overrun
|
|
Notify FRS controller of overrun conditions: SIGUSR2
|
|
.sp
|
|
sig_dequeue
|
|
Notify an activity thread/process that is has been removed from a
|
|
minor frame: 0 (disabled)
|
|
.sp
|
|
sig_unframesched
|
|
Notify an activity thread/process that is has been removed from all minor
|
|
frames and is no longer been scheduled by the frame scheduler: SIGRTMIN
|
|
.P
|
|
The \f2pid\fP and \f2pthread\fP fields should be set to NULL, since they
|
|
are present for future enhancements and are not currently used.
|
|
.P
|
|
The frame scheduler set attribute operations will fail if one or more of
|
|
the following conditions are true:
|
|
.TP 15
|
|
.SM
|
|
\%[EINVAL]
|
|
Invalid frame scheduler object or minor frame.
|
|
.TP 15
|
|
.SM
|
|
\%[EINVALSTATE]
|
|
The frame scheduler has already been started.
|
|
.TP 15
|
|
.SM
|
|
\%[EPERM]
|
|
No permission to execute frame scheduler functions.
|
|
.TP 15
|
|
.SM
|
|
\%[ENODEV]
|
|
The REACT/Pro Frame Scheduler Subsystem has not been installed.
|
|
.TP 15
|
|
.SM
|
|
.SH "DIAGNOSTICS"
|
|
Upon successful completion, \f4frs_setattr\fP and \f4frs_pthread_setattr\fP
|
|
will return 0.
|
|
Otherwise, -1 is returned and errno is set to indicate the error.
|
|
.SH "SEE ALSO"
|
|
\f4frs_start\f1(3),
|
|
\f4frs_getattr\f1(3),
|
|
\f4frs_pthread_getattr\f1(3)
|
|
.P
|
|
The REACT Real-Time Programmer's Guide (insight(1)) covers Frame Scheduler
|
|
principles and usage in detail.
|
|
.P
|
|
Frame scheduler programming examples (if installed) can be found in the
|
|
following directory: /usr/share/src/react/examples.
|