Added (fake) readlink().
Compile fix for fslib (BITS_PER_BLOCK was renamed to FS_BITS_PER_BLOCK). Added extra arg to various timer functions.
This commit is contained in:
parent
ed2a024d47
commit
39c90d6c90
|
@ -37,8 +37,8 @@ int block_size;
|
|||
{
|
||||
int nr_blocks;
|
||||
|
||||
nr_blocks = (int) (nr_bits / BITS_PER_BLOCK(block_size));
|
||||
if (((bit_t) nr_blocks * BITS_PER_BLOCK(block_size)) < nr_bits) ++nr_blocks;
|
||||
nr_blocks = (int) (nr_bits / FS_BITS_PER_BLOCK(block_size));
|
||||
if (((bit_t) nr_blocks * FS_BITS_PER_BLOCK(block_size)) < nr_bits) ++nr_blocks;
|
||||
return(nr_blocks);
|
||||
}
|
||||
|
||||
|
|
|
@ -2,8 +2,6 @@
|
|||
readlink.c
|
||||
*/
|
||||
|
||||
#define readlink _readlink
|
||||
|
||||
#include <unistd.h>
|
||||
#include <errno.h>
|
||||
|
||||
|
|
|
@ -3,22 +3,38 @@
|
|||
/*===========================================================================*
|
||||
* tmrs_clrtimer *
|
||||
*===========================================================================*/
|
||||
void tmrs_clrtimer(tmrs, tp)
|
||||
clock_t tmrs_clrtimer(tmrs, tp, new_head)
|
||||
timer_t **tmrs; /* pointer to timers queue */
|
||||
timer_t *tp; /* timer to be removed */
|
||||
clock_t *new_head;
|
||||
{
|
||||
/* Deactivate a timer and remove it from the timers queue.
|
||||
*/
|
||||
timer_t **atp;
|
||||
struct proc *p;
|
||||
clock_t old_head = 0;
|
||||
|
||||
if(*tmrs)
|
||||
old_head = (*tmrs)->tmr_exp_time;
|
||||
else
|
||||
old_head = 0;
|
||||
|
||||
tp->tmr_exp_time = TMR_NEVER;
|
||||
|
||||
for (atp = tmrs; *atp != NULL; atp = &(*atp)->tmr_next) {
|
||||
if (*atp == tp) {
|
||||
*atp = tp->tmr_next;
|
||||
return;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(new_head) {
|
||||
if(*tmrs)
|
||||
*new_head = (*tmrs)->tmr_exp_time;
|
||||
else
|
||||
*new_head = 0;
|
||||
}
|
||||
|
||||
return old_head;
|
||||
}
|
||||
|
||||
|
|
|
@ -3,9 +3,10 @@
|
|||
/*===========================================================================*
|
||||
* tmrs_exptimers *
|
||||
*===========================================================================*/
|
||||
void tmrs_exptimers(tmrs, now)
|
||||
void tmrs_exptimers(tmrs, now, new_head)
|
||||
timer_t **tmrs; /* pointer to timers queue */
|
||||
clock_t now; /* current time */
|
||||
clock_t *new_head;
|
||||
{
|
||||
/* Use the current time to check the timers queue list for expired timers.
|
||||
* Run the watchdog functions for all expired timers and deactivate them.
|
||||
|
@ -18,6 +19,13 @@ clock_t now; /* current time */
|
|||
tp->tmr_exp_time = TMR_NEVER;
|
||||
(*tp->tmr_func)(tp);
|
||||
}
|
||||
|
||||
if(new_head) {
|
||||
if(*tmrs)
|
||||
*new_head = (*tmrs)->tmr_exp_time;
|
||||
else
|
||||
*new_head = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -3,11 +3,12 @@
|
|||
/*===========================================================================*
|
||||
* tmrs_settimer *
|
||||
*===========================================================================*/
|
||||
void tmrs_settimer(tmrs, tp, exp_time, watchdog)
|
||||
clock_t tmrs_settimer(tmrs, tp, exp_time, watchdog, new_head)
|
||||
timer_t **tmrs; /* pointer to timers queue */
|
||||
timer_t *tp; /* the timer to be added */
|
||||
clock_t exp_time; /* its expiration time */
|
||||
tmr_func_t watchdog; /* watchdog function to be run */
|
||||
clock_t *new_head; /* new earliest timer, if non NULL */
|
||||
{
|
||||
/* Activate a timer to run function 'fp' at time 'exp_time'. If the timer is
|
||||
* already in use it is first removed from the timers queue. Then, it is put
|
||||
|
@ -15,10 +16,14 @@ tmr_func_t watchdog; /* watchdog function to be run */
|
|||
* The caller responsible for scheduling a new alarm for the timer if needed.
|
||||
*/
|
||||
timer_t **atp;
|
||||
clock_t old_head = 0;
|
||||
|
||||
if(*tmrs)
|
||||
old_head = (*tmrs)->tmr_exp_time;
|
||||
|
||||
/* Possibly remove an old timer. Then set the timer's variables. */
|
||||
if (tp->tmr_exp_time != TMR_NEVER)
|
||||
(void) tmrs_clrtimer(tmrs,tp);
|
||||
(void) tmrs_clrtimer(tmrs, tp, NULL);
|
||||
tp->tmr_exp_time = exp_time;
|
||||
tp->tmr_func = watchdog;
|
||||
|
||||
|
@ -28,5 +33,8 @@ tmr_func_t watchdog; /* watchdog function to be run */
|
|||
}
|
||||
tp->tmr_next = *atp;
|
||||
*atp = tp;
|
||||
if(new_head)
|
||||
(*new_head) = (*tmrs)->tmr_exp_time;
|
||||
return old_head;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue