Changes in / [50f19b7:a53ed3a] in mainline


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/generic/async.c

    r50f19b7 ra53ed3a  
    18561856void async_usleep(suseconds_t timeout)
    18571857{
    1858         awaiter_t awaiter;
    1859         awaiter_initialize(&awaiter);
    1860        
    1861         awaiter.fid = fibril_get_id();
    1862        
    1863         getuptime(&awaiter.to_event.expires);
    1864         tv_add_diff(&awaiter.to_event.expires, timeout);
     1858        amsg_t *msg = amsg_create();
     1859        if (!msg)
     1860                return;
     1861       
     1862        msg->wdata.fid = fibril_get_id();
     1863       
     1864        getuptime(&msg->wdata.to_event.expires);
     1865        tv_add_diff(&msg->wdata.to_event.expires, timeout);
    18651866       
    18661867        futex_down(&async_futex);
    18671868       
    1868         async_insert_timeout(&awaiter);
     1869        async_insert_timeout(&msg->wdata);
    18691870       
    18701871        /* Leave the async_futex locked when entering this function */
     
    18721873       
    18731874        /* Futex is up automatically after fibril_switch() */
     1875       
     1876        amsg_destroy(msg);
    18741877}
    18751878
Note: See TracChangeset for help on using the changeset viewer.