Ticket #2568: sched_yield-01.diff

File sched_yield-01.diff, 1.5 KB (added by andreasf, 16 years ago)

Draft patch

  • src/system/libroot/os/scheduler.c

     
    5656    return 0;
    5757}
    5858
     59int
     60sched_yield(void)
     61{
     62    _kern_thread_yield();
     63    return 0;
     64}
     65
  • headers/os/kernel/scheduler.h

     
    4444int32 suggest_thread_priority(uint32 task_flags = B_DEFAULT_MEDIA_PRIORITY,
    4545    int32 period = 0, bigtime_t jitter = 0, bigtime_t length = 0);
    4646bigtime_t estimate_max_scheduling_latency(thread_id th = -1);   /* default is current thread */
     47int sched_yield(void);
    4748}
    4849#else
    4950int32 suggest_thread_priority(uint32 what, int32 period, bigtime_t jitter, bigtime_t length);
    5051bigtime_t estimate_max_scheduling_latency(thread_id th);    /* default is current thread */
     52int sched_yield(void);
    5153#endif
    5254
    5355#endif /* SCHEDULER_H */
  • headers/posix/sched.h

     
     1/*
     2 * Copyright 2008, Haiku, Inc. All rights reserved.
     3 * Distributed under the terms of the MIT/X11 license.
     4 */
     5#ifndef _SCHED_H_
     6#define _SCHED_H_
     7
     8#ifdef __cplusplus
     9extern "C" {
     10#endif
     11
     12extern int sched_yield(void);
     13
     14#ifdef __cplusplus
     15}
     16#endif
     17
     18#endif  /* _SCHED_H_ */
     19