Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset 396b234 in mainline


Ignore:
Timestamp:
2019-07-01T12:45:10Z (16 months ago)
Author:
Jaroslav Jindrak <dzejrou@…>
Branches:
master
Children:
0f43be5
Parents:
cf279270
Message:

cpp: add missing implementation of the shared state abandoning procedure to promise

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/cpp/include/__bits/thread/promise.hpp

    rcf279270 r396b234  
    107107                void abandon_state_()
    108108                {
     109                    if (!state_)
     110                        return;
     111
    109112                    /**
    110113                     * Note: This is the 'abandon' move described in
     
    116119                     * 2) Release the state.
    117120                     */
     121
     122                    if (!state_->is_set())
     123                    {
     124                        // TODO: Store future_error.
     125                        state_->mark_set(true);
     126                    }
     127
     128                    if (state_->decrement())
     129                    {
     130                        state_->destroy();
     131                        delete state_;
     132                        state_ = nullptr;
     133                    }
    118134                }
    119135
Note: See TracChangeset for help on using the changeset viewer.