Espacios de nombres
Variantes
Acciones

std::promise::set_exception_at_thread_exit

De cppreference.com
< cpp‎ | thread‎ | promise
 
 
Biblioteca de apoyo de concurrencia
Hilos
(C++11)
(C++20)
Espacio de nombres this_thread
(C++11)
(C++11)
(C++11)
Cancelación cooperativa
Exclusión mutua
(C++11)
Gestión genérica de bloqueo
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
Variables de condición
(C++11)
Semáforos
Pestillos y barreras
(C++20)
(C++20)
Futuros
(C++11)
(C++11)
(C++11)
(C++11)
Recuperación segura
(C++26)
Punteros de riesgo
Tipos atómicos
(C++11)
(C++20)
Inicialización de tipos atómicos
(C++11)(en desuso en C++20)
(C++11)(en desuso en C++20)
Orden de memoria
Funciones independientes para operaciones atómicas
Funciones independientes para indicadores atómicos
 
 
void set_exception_at_thread_exit( std::exception_ptr p );
(desde C++11)

Almacena el puntero a excepción p en el estado compartido sin dejar el estado listo de inmediato. El estado se deja listo cuando el hilo actual termina, después de que todas las variables con duración de almacenamiento local al hilo se han destruido.

Esta operación se comporta como si set_value, set_exception, set_value_at_thread_exit, y set_exception_at_thread_exit tomaran posesión de un solo mutex asociado con el objeto promesa mientras se actualiza el objeto promesa.

Se lanza una excepción si no hay un estado compartido o si el estado compartido ya almacena un valor o excepción.

Las llamadas a esta función no introducen carreras de datos con llamadas a get_future (por lo tanto no necesitan sincronizarse entre sí).

Contenido

[editar] Parámetros

p - El puntero a excepción a almacenar. El comportamiento no está definido si p es nulo.

[editar] Valor de retorno

(Ninguno)

[editar] Excepciones

std::future_error en las siguientes condiciones:

  • *this no tiene un estado compartido. El código de error se establece a no_state.

[editar] Ejemplo

[editar] Véase también

Establece el resultado para indicar una excepción.
(función miembro pública) [editar]