when_any question
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 30/100
Línea de trabajo
Comienza leyendo exec/when_any.hpp y la discusión de P2300 sobre stop_when y la cancelación. Ejecuta el reproductor proporcionado para observar si se detiene el sender que pierde. Se considera terminado cuando se hayan establecido las semánticas de cancelación esperadas y estas se hayan documentado o implementado, con tests que cubran el comportamiento.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
when_any(job1,job2) completes when either job1 or job2 complete.
I was hopeful that when one of the senders completes, the other would be stopped..
Testing that hypothesis with
#include <chrono>
#include <fmt/core.h>
#include <exec/static_thread_pool.hpp>
#include <exec/when_any.hpp>
#include <stdexec/execution.hpp>
using namespace std::chrono_literals;
int main()
{
exec::static_thread_pool pool(4);
stdexec::scheduler auto sch = pool.get_scheduler();
stdexec::sender auto job1 = stdexec::schedule(sch) | stdexec::then([](){
int i{0};
while (true) {
fmt::print("job1: {}\n", i++);
std::this_thread::sleep_for(200ms);
}
});
stdexec::sender auto job2 = stdexec::schedule(sch) | stdexec::then([](){
for (int i = 0; i < 5; ++i) {
fmt::print("JOB2: {}\n", i);
std::this_thread::sleep_for(500ms);
}
});
stdexec::sync_wait(exec::when_any(job1,job2));
}
suggests that this isn't the case.
Bug or feature? Should my job1 be looking for a stop_token in the environment?
I note that P2300 mentions stop_when and doesn't mention when_any. I am guessing that they are synonyms?
- Lenguaje dominante
- C++
- Estrellas
- 2.4k
- Forks
- 270
- Merge medio
- 2 d 10 h
- PR fusionados (30 d)
- 42
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de NVIDIA/stdexec
-
inline_scheduler's namespace-scope static_assert fails under nvcc (private nested __sender access) Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 65/100
Todos los issues de NVIDIA/stdexec
Issues similares
-
[CI] Nightly Clang build broken: structured binding captured in a lambda in FileDataSource.cpp Abiertobug build
Dificultad 1/5 Menos de una hora Aptitud para principiantes 91/100
facebookincubator/velox#19194 ·
-
JIT-compiled number -> Decimal conversion silently overflows instead of raising DECIMAL_OVERFLOW Abiertofuzz
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
ClickHouse/ClickHouse#122114 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
-
module/agent platform/macos type/bug/regression
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
enhancement PyCDE
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100