示例#1
0
文件: tty.c 项目: cya410/libraries
/*
 * Remove the last character in a queue and return it.
 */
static int tty_unputc(struct tty_queue *tq)
{
  if (ttyq_empty(tq))
    return -1;

  int s = splhigh();
  tq->tq_tail = ttyq_prev(tq->tq_tail);
  int c = tq->tq_buf[tq->tq_tail];
  tq->tq_count--;
  splx(s);
  return c & 0xFF;
}
示例#2
0
文件: tty.c 项目: AndrewD/prex
/*
 * Remove the last character in a queue and return it.
 */
int
ttyq_unputc(struct tty_queue *tq)
{
	int c;

	if (ttyq_empty(tq))
		return -1;
	irq_lock();
	tq->tq_tail = ttyq_prev(tq->tq_tail);
	c = tq->tq_buf[tq->tq_tail];
	tq->tq_count--;
	irq_unlock();
	return c;
}