Changes in / [a53ed3a:50f19b7] in mainline


Ignore:
File:
1 edited

Legend:

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

    ra53ed3a r50f19b7  
    18561856void async_usleep(suseconds_t timeout)
    18571857{
    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);
     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);
    18661865       
    18671866        futex_down(&async_futex);
    18681867       
    1869         async_insert_timeout(&msg->wdata);
     1868        async_insert_timeout(&awaiter);
    18701869       
    18711870        /* Leave the async_futex locked when entering this function */
     
    18731872       
    18741873        /* Futex is up automatically after fibril_switch() */
    1875        
    1876         amsg_destroy(msg);
    18771874}
    18781875
Note: See TracChangeset for help on using the changeset viewer.