Атрибут process-sharedycтанaвливaeтcя равны м
значению PTHREAD_PROCESS_ SHARED, чтобы разрешить использование объекта блокировки чтения-записи любы м потоко м, и м ею щ и м доступ к области па м яти, в которой он раз м е щ ен, даже если эта область па м яти разделяется нескольки м и процесса м и. Если же атрибут process-shared равен значению PTHREAD_PROCESS_PRIVATE, объект блокировки чтения-записи должен использоваться только потока м и, созданны м и в одно м процессе с потоко м, который его инициализировал; если с эти м объекто м блокировки чтения-записи попытаются работать потоки из различных процессов, поведение такой програ мм ы не определено. По у м олчанию для этого атрибута устанавливается значение PTHREAD_PROCESS_PRIVATE. Дополнительные атрибуты, их значения по умолчанию и имена соответствующих функций считывания и установки значений этих атрибутов определяются конкретной реализацией.
Возвращаемые значения
При успешно м
завершении функция pthread_rwlockattr_getpshared() возвра щ ает нулевое значение и сохраняет считанное значение атрибута process-shared объекта attr в объекте, адресуе м о м пара м етро м pshared\ в противно м случае возвра щ ается код ошибки, обозначающий ее характер. При успешно м
завершении функция pthread_rwlockattr_setpshared() возвращает нулевое значение; в противном случае — код ошибки, обозначающий ее характер. Ошибки
Функции pthread_rwlockattr_getpshared() и pthread_rwlockattr_ setpshared () м
огут завершиться неудачно, если: [ EINVAL
] значение, заданное пара м етро м attr, недействительно. Функция pthread_rwlockattr_setpshared () м
ожетзавершиться неудачно, если: [EINVAL]
новое значение, заданное для атрибута, попа д ает вне д иапазона значений, д ействительных д ля этого атрибута. Эти функции не возвра щ
ают ко д ошибки [EINTR]. Примеры
Отсутствуют.
Замечания по использованию
Отсутствуют.
Логическое обоснование
Отсутствует.
Будущие направления
Отсутствуют.
Смотри также
pthread_rwlock_destroy(),pthread_rwlockattr_destroy(), pthread_rwlockattr_init (), то м
Base Definitions стан д арта IEEE Std 1003.1-2001, . Последовательность внесения изменений
Функции впервые реализованы в выпуске Issue 5.
Issue 6
Для согласования со стан д
арто м IEEE Std 1003.1j-2000 были внесены сле д ую щ ие из м енения. • В разделе «Синопсис» была изменена метка. Новая метка THR
означает, что расс м атривае м ые функции теперь являются частью опции Threads (ранее они относились к опции Read-Write Locks стан д арта IEEE Std 1003.1j-2000, а также считались частью д ополнения XSI). • В разделе «Описание» отмечено, что дополнительные атрибуты определяются конкретной реализацией.
• Был отредактирован раздел «Смотри также».
В целях согласования со стандартом ISO/IEC 9899: 1999 в прототип функции pthread_rwlockattr_getpshared () было добавлено ключевое слово restrict.
pthread_self
Имя
pthread_self — функция получения и д
ентификационного но м ера (ID) вызывающего потока. Синопсис
THR #include
pthread_t pthread_self {void);
Описание
Функция pthread_self()
возвра щ ает и д ентификационный но м ер (ID) вызываю щ его потока. Возвращаемое значение
См. раз д
ел «Описание». Ошибки
Ко д
ы ошибок не опре д елены. Функция pthread_self
() не возвра щ ает ко д ошибки [EINTR]. Примеры
Отсутствуют.
Замечания по использованию
Отсутствуют.
Логическое обоснование
Функция pthread_self()
обеспечивает воз м ожность, аналогичную функции getpid () д ля процессов, поэто м у и логическое обоснование у нее такое же: при вызове функции соз д ания потока и д ентификационный но м ер (ID) соз д анно м у потоку авто м атически не пре д оставляется. Будущие направления
Отсутствуют.
Смотри также
pthread_create (), pthread_equal (), то м
Base Definitions стандарта IEEE Std 1003.1-2001, . Последовательность внесения изменений
Функция впервые реализована в выпуске Issue 5. Включена для согласования с расширение м
POSIX Threads Extension. Issue 6
Функция pthread_self () от м
ечена как часть опции Threads. pthread_setcancelstate, pthread_setcanceltype, pthread_testcancel
Имя
pthread_setcancelstate, pthread_setcanceltype, pthread_testcancel— функции установки состояния от м
ены (аннулирования) потока. Синопсис
THR #include
int pthread_setcancelstate(int state,
int *oldstate); int pthread_setcanceltype(int type,
int *oldtype); void pthread_testcancel(void);
Описание