Имя
pthread_setcancelstate, pthread_setcanceltype, pthread_testcancel— функции установки состояния от
Синопсис
THR #include <pthread.h>
int pthread_setcancelstate(int
int pthread_setcanceltype(int
void pthread_testcancel(void);
Описание
Функция pthread_setcancelstate() о
Функция pthread_setcanceltype () о
Состояние и тип отмены любых создаваемых потоков, включал поток, в которо
Функция pthread_testcancel () пре
Возвращаемые значения
При успешно
Ошибки
Функция pthread_setcancelstate ()
[EINVAL] за
Функция pthread_setcanceltype ()
[EINVAL] за
Эти функции не возвра
Примеры
Отсутствуют.
Замечания по использованию
Отсутствуют.
Логическое обоснование
Функции pthread_setcancelstate () и pthread_setcanceltype () позволяют управлять точка
Объект можно рассматривать как обобщение некоторой процедуры. Вернее, он представляет собой множество процедур и глобальных переменных, организованных в виде одного модуля, вызываемого клиентами, не известными для этого объекта, причем одни объекты могут зависеть от других.
Во-первых, на входе в объект возможность отмены должна быть запрещена (никогда явно не разрешена). На выходе из объекта состояние отмены должно быть всегда восстановлено до значения, которое оно имело на входе в этот объект.
Это следует из принципа модульности: если клиент объекта (или клиент объекта, использующего данный объект) запретил возможность отмены, это означает, что клиент не желает проведения очистительно- восстановительных операций в случае, если поток будет отменен во время выполнения некоторой важной последовательности действий. Если объект вызывается в таком состоянии и предоставляет возможность отмены, а запрос на отмену задерживается для этого потока, то такой поток отменяется вопреки желанию клиента (т.е. вопреки запрету на отмену).
Во-вторых, на входе в объект тип отмены можно установить явным образом (равным либо «отложенному», либо «асинхронному» значению). Но, как и для состояния отмены, на выходе из объекта тип отмены должен быть всегда восстановлен до значения, которое он имел на входе в этот объект.
Наконец, из потока, который позволяет асинхронную от
Будущие направления
Отсутствуют.
Смотри также
pthread_cancel(), то
Последовательность внесения изменений
Функции впервые реализованы в выпуске Issue 5. Включены для согласования с расширение
Issue 6
Функции pthread_setcancelstate (), pthread_setcanceltype () и pthread_ testcancel () от