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

Changeset 39026d7c in mainline


Ignore:
Timestamp:
2017-11-29T23:41:05Z (4 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master
Children:
908d634
Parents:
f300523
Message:

Replace fibril_usleep() with async_usleep().

Location:
uspace
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/char/ski-con/ski-con.c

    rf300523 r39026d7c  
    3131 */
    3232
     33#include <async.h>
    3334#include <ddf/driver.h>
    3435#include <ddf/log.h>
     
    149150                }
    150151
    151                 fibril_usleep(POLL_INTERVAL);
     152                async_usleep(POLL_INTERVAL);
    152153        }
    153154
  • uspace/drv/char/sun4v-con/sun4v-con.c

    rf300523 r39026d7c  
    149149
    150150        while (con->input_buffer->read_ptr == con->input_buffer->write_ptr)
    151                 fibril_usleep(POLL_INTERVAL);
     151                async_usleep(POLL_INTERVAL);
    152152
    153153        p = 0;
  • uspace/lib/c/generic/async.c

    rf300523 r39026d7c  
    18681868       
    18691869        amsg_destroy(msg);
     1870}
     1871
     1872/** Delay execution for the specified number of seconds
     1873 *
     1874 * @param sec Number of seconds to sleep
     1875 */
     1876void async_sleep(unsigned int sec)
     1877{
     1878        /*
     1879         * Sleep in 1000 second steps to support
     1880         * full argument range
     1881         */
     1882
     1883        while (sec > 0) {
     1884                unsigned int period = (sec > 1000) ? 1000 : sec;
     1885
     1886                async_usleep(period * 1000000);
     1887                sec -= period;
     1888        }
    18701889}
    18711890
  • uspace/lib/c/generic/fibril_synch.c

    rf300523 r39026d7c  
    629629}
    630630
    631 /** Delay fibril execution for the specified number of microseconds
    632  *
    633  * @param usec Number of microseconds to sleep
    634  */
    635 void fibril_usleep(useconds_t usec)
    636 {
    637         fibril_condvar_t cv;
    638         fibril_mutex_t lock;
    639 
    640         fibril_condvar_initialize(&cv);
    641         fibril_mutex_initialize(&lock);
    642         fibril_mutex_lock(&lock);
    643         fibril_condvar_wait_timeout(&cv, &lock, usec);
    644         fibril_mutex_unlock(&lock);
    645 }
    646 
    647 /** Delay fibril execution for the specified number of seconds
    648  *
    649  * @param sec Number of seconds to sleep
    650  */
    651 void fibril_sleep(unsigned int sec)
    652 {
    653         /*
    654          * Sleep in 1000 second steps to support
    655          * full argument range
    656          */
    657 
    658         while (sec > 0) {
    659                 unsigned int period = (sec > 1000) ? 1000 : sec;
    660 
    661                 fibril_usleep(period * 1000000);
    662                 sec -= period;
    663         }
    664 }
    665 
    666 
    667631/** @}
    668632 */
  • uspace/lib/c/generic/irc.c

    rf300523 r39026d7c  
    3434
    3535#include <assert.h>
     36#include <async.h>
    3637#include <errno.h>
    37 #include <fibril_synch.h>
    3838#include <ipc/irc.h>
    3939#include <ipc/services.h>
     
    7272
    7373                // XXX This is just a temporary hack
    74                 fibril_usleep(500 * 1000);
     74                async_usleep(500 * 1000);
    7575        }
    7676
  • uspace/lib/c/include/async.h

    rf300523 r39026d7c  
    151151
    152152extern void async_usleep(suseconds_t);
     153extern void async_sleep(unsigned int);
     154
    153155extern void async_create_manager(void);
    154156extern void async_destroy_manager(void);
  • uspace/lib/c/include/fibril_synch.h

    rf300523 r39026d7c  
    173173extern fibril_timer_state_t fibril_timer_clear(fibril_timer_t *);
    174174extern fibril_timer_state_t fibril_timer_clear_locked(fibril_timer_t *);
    175 extern void fibril_usleep(useconds_t);
    176 extern void fibril_sleep(unsigned int);
    177175
    178176#endif
  • uspace/lib/c/test/fibril/timer.c

    rf300523 r39026d7c  
    2727 */
    2828
     29#include <async.h>
    2930#include <fibril_synch.h>
    3031#include <pcut/pcut.h>
     
    7778
    7879        fibril_timer_set_locked(t, 100 * 1000 * 1000, test_timeout_fn, &cnt);
    79         fibril_usleep(1000);
     80        async_usleep(1000);
    8081        fts = fibril_timer_clear_locked(t);
    8182        PCUT_ASSERT_INT_EQUALS(fts_active, fts);
     
    100101        cnt = 0;
    101102        fibril_timer_set(t, 100 * 1000 * 1000, test_timeout_fn, &cnt);
    102         fibril_usleep(1000);
     103        async_usleep(1000);
    103104        fts = fibril_timer_clear(t);
    104105        PCUT_ASSERT_INT_EQUALS(fts_active, fts);
     
    126127        fibril_mutex_unlock(&lock);
    127128
    128         fibril_usleep(1000);
     129        async_usleep(1000);
    129130
    130131        fibril_mutex_lock(&lock);
  • uspace/lib/posix/source/time.c

    rf300523 r39026d7c  
    4545#include "posix/assert.h"
    4646
    47 #include "libc/fibril_synch.h"
     47#include "libc/async.h"
    4848#include "libc/malloc.h"
    4949#include "libc/task.h"
     
    314314                        // TODO: interruptible sleep
    315315                        if (rqtp->tv_sec != 0) {
    316                                 fibril_sleep(rqtp->tv_sec);
     316                                async_sleep(rqtp->tv_sec);
    317317                        }
    318318                        if (rqtp->tv_nsec != 0) {
    319                                 fibril_usleep(rqtp->tv_nsec / 1000);
     319                                async_usleep(rqtp->tv_nsec / 1000);
    320320                        }
    321321                        return 0;
Note: See TracChangeset for help on using the changeset viewer.