set_current_state(TASK_INTERRUPTIBLE); schedule_timeout(1);
schedule_timeout_interruptible(1);
static int ixj_ring(IXJ *j){	char cntr;	unsigned long jif;	j->flags.ringing = 1;	if (ixj_hookstate(j) & 1) {		ixj_ring_off(j);		j->flags.ringing = 0;		return 1;	}	for (cntr = 0; cntr < j->maxrings; cntr++) {		jif = jiffies + (1 * hertz);		ixj_ring_on(j);		while (time_before(jiffies, jif)) {			if (ixj_hookstate(j) & 1) {				ixj_ring_off(j);				j->flags.ringing = 0;				return 1;			}			set_current_state(TASK_INTERRUPTIBLE);			schedule_timeout(1);			if (signal_pending(current))				break;		}		jif = jiffies + (3 * hertz);		ixj_ring_off(j);		while (time_before(jiffies, jif)) {			if (ixj_hookstate(j) & 1) {				msleep(10);				if (ixj_hookstate(j) & 1) {					j->flags.ringing = 0;					return 1;				}			}			set_current_state(TASK_INTERRUPTIBLE);			schedule_timeout(1);			if (signal_pending(current))				break;		}	}	ixj_ring_off(j);	j->flags.ringing = 0;	return 0;}