Commit 35fa742df4e8503517463286fed39c854145ec72

Authored by Georg Hopp
1 parent f7108d4b

add put_first

@@ -52,6 +52,7 @@ TR_INSTANCE_INIT(TR_Queue); @@ -52,6 +52,7 @@ TR_INSTANCE_INIT(TR_Queue);
52 TR_CLASSVARS_DECL(TR_Queue) {}; 52 TR_CLASSVARS_DECL(TR_Queue) {};
53 53
54 void TR_queuePut(TR_Queue, void *); 54 void TR_queuePut(TR_Queue, void *);
  55 +void TR_queuePutFirst(TR_Queue, void *);
55 void * TR_queueGet(TR_Queue); 56 void * TR_queueGet(TR_Queue);
56 57
57 #define TR_queueEmpty(this) (0 >= (this)->nmsg) 58 #define TR_queueEmpty(this) (0 >= (this)->nmsg)
@@ -5,5 +5,5 @@ AM_CFLAGS += -I../../include/ @@ -5,5 +5,5 @@ AM_CFLAGS += -I../../include/
5 5
6 noinst_LTLIBRARIES = libqueue.la 6 noinst_LTLIBRARIES = libqueue.la
7 7
8 -libqueue_la_SOURCES = queue.c get.c put.c 8 +libqueue_la_SOURCES = queue.c get.c put.c put_first.c
9 libqueue_la_CFLAGS = $(AM_CFLAGS) 9 libqueue_la_CFLAGS = $(AM_CFLAGS)
  1 +/**
  2 + * \file
  3 + *
  4 + * \author Georg Hopp
  5 + *
  6 + * \copyright
  7 + * Copyright © 2014 Georg Hopp
  8 + *
  9 + * This program is free software: you can redistribute it and/or modify
  10 + * it under the terms of the GNU General Public License as published by
  11 + * the Free Software Foundation, either version 3 of the License, or
  12 + * (at your option) any later version.
  13 + *
  14 + * This program is distributed in the hope that it will be useful,
  15 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  17 + * GNU General Public License for more details.
  18 + *
  19 + * You should have received a copy of the GNU General Public License
  20 + * along with this program. If not, see <http://www.gnu.org/licenses/>.
  21 + */
  22 +
  23 +#include "trbase.h"
  24 +#include "tr/queue.h"
  25 +
  26 +void
  27 +TR_queuePutFirst(TR_Queue this, void * msg)
  28 +{
  29 + TR_Queue current_first = this->first;
  30 +
  31 + this->first = TR_new(TR_Queue);
  32 + this->first->next = current_first;
  33 + this->first->msg = msg;
  34 + this->nmsg++;
  35 +}
  36 +
  37 +// vim: set ts=4 sw=4:
Please register or login to post a comment