Piotr Caban (@piotr) commented about dlls/msvcrt/concurrency.c:
DEFINE_THISCALL_WRAPPER(_StructuredTaskCollection_dtor, 4) void __thiscall _StructuredTaskCollection_dtor(_StructuredTaskCollection *this) {
- FIXME("(%p): stub!\n", this);
- static unsigned int once;
- if (!once++)
FIXME("(%p): stub!\n", this);
- if (this->count && !__uncaught_exception()) { missing_wait e; missing_wait_ctor_str(&e, "Missing call to _RunAndWait");
```suggestion:-9+0 void __thiscall _StructuredTaskCollection_dtor(_StructuredTaskCollection *this) { TRACE("(%p)\n", this);
if (this->count && !__uncaught_exception()) { missing_wait e; WARN("missing call to _RunAndWait\n"); missing_wait_ctor_str(&e, "Missing call to _RunAndWait"); ```
The function looks implemented. AFAIR it was not really tested what happens in error case - hence the WARN message.