PERFORCE change 120776 for review
Fredrik Lindberg
fli at FreeBSD.org
Sat Jun 2 12:37:47 UTC 2007
http://perforce.freebsd.org/chv.cgi?CH=120776
Change 120776 by fli at fli_genesis on 2007/06/02 12:36:56
- Debugging and style fixes.
- Fix header protection defines in stack_buf.h
Affected files ...
.. //depot/projects/soc2007/fli-mdns_sd/mdnsd/stack_buf.c#5 edit
.. //depot/projects/soc2007/fli-mdns_sd/mdnsd/stack_buf.h#4 edit
Differences ...
==== //depot/projects/soc2007/fli-mdns_sd/mdnsd/stack_buf.c#5 (text+ko) ====
@@ -24,12 +24,13 @@
*
*/
+#include <assert.h>
#include <stdlib.h>
+#include <string.h>
#include <strings.h>
-#include <string.h>
-#include <assert.h>
#include "stack_buf.h"
+#include "debug.h"
struct mdns_bufpool * mdns_bufpool_init(size_t, int,
bp_lock, bp_unlock, void *arg);
@@ -54,6 +55,7 @@
bp->bp_unlock = unlock;
bp->bp_lockarg = arg;
TAILQ_INIT(&bp->bp_list);
+ MDNS_INIT_SET(bp, bp_magic);
return (bp);
}
@@ -63,6 +65,7 @@
struct mdns_buf *buf;
int ret;
+ MDNS_INIT_ASSERT(bp, bp_magic);
MDNS_BP_LOCK(bp);
while (!TAILQ_EMPTY(&bp->bp_list)) {
@@ -75,8 +78,10 @@
ret = TAILQ_EMPTY(&bp->bp_list);
MDNS_BP_UNLOCK(bp);
- if (ret == 1)
+ if (ret == 1) {
+ MDNS_INIT_UNSET(bp, bp_magic);
free(bp);
+ }
return (ret);
}
@@ -84,6 +89,7 @@
mdns_bufpool_setsize(struct mdns_bufpool *bp, size_t len)
{
+ MDNS_INIT_ASSERT(bp, bp_magic);
MDNS_BP_LOCK(bp);
bp->bp_defsz = len;
MDNS_BP_UNLOCK(bp);
@@ -94,6 +100,7 @@
{
size_t len;
+ MDNS_INIT_ASSERT(bp, bp_magic);
MDNS_BP_LOCK(bp);
len = bp->bp_defsz;
MDNS_BP_UNLOCK(bp);
@@ -107,6 +114,8 @@
{
struct mdns_buf *buf;
+ MDNS_INIT_ASSERT(bp, bp_magic);
+
if (!locked)
MDNS_BP_LOCK(bp);
@@ -144,6 +153,7 @@
TAILQ_INIT(&bh->bh_list);
TAILQ_INSERT_TAIL(&bh->bh_list, buf, b_list);
bh->bh_size++;
+ MDNS_INIT_SET(buf, b_magic);
if (!locked)
MDNS_BP_UNLOCK(bp);
@@ -156,9 +166,12 @@
{
int i;
+ MDNS_INIT_ASSERT(bp, bp_magic);
+ MDNS_INIT_ASSERT(buf, b_magic);
if (!locked)
MDNS_BP_LOCK(bp);
+ MDNS_INIT_UNSET(buf, b_magic);
TAILQ_REMOVE(&bh->bh_list, buf, b_list);
bh->bh_size--;
if (!(buf->b_flags & MDNS_BUF_TEMP)) {
@@ -193,6 +206,7 @@
{
char *p;
+ MDNS_INIT_ASSERT(buf, b_magic);
if (len == 0)
len = buf->b_sz * 2;
else if (len < buf->b_len)
@@ -218,6 +232,9 @@
size_t len;
struct mdns_bufhead bh2;
+ MDNS_INIT_ASSERT(bp, bp_magic);
+ MDNS_INIT_ASSERT(buf, b_magic);
+
if (MDNS_BUFHSZ(bh) <= 1)
return (TAILQ_FIRST(&bh->bh_list));
==== //depot/projects/soc2007/fli-mdns_sd/mdnsd/stack_buf.h#4 (text+ko) ====
@@ -24,16 +24,19 @@
*
*/
-#ifndef _CORE_BUF_H_
-#define _CORE_BUF_H_
+#ifndef _STACK_BUF_H_
+#define _STACK_BUF_H_
#include <stdint.h>
#include <sys/queue.h>
+#include "debug.h"
+
/*
* Buffer segment
*/
struct mdns_buf {
+ MAGIC(b_magic);
TAILQ_ENTRY(mdns_buf) b_list;
char *b_buf; /* raw byte buffer */
size_t b_sz; /* buffer size */
@@ -42,6 +45,9 @@
#define MDNS_BUF_TEMP 0x01 /* do not put back on free list after use */
};
+/*
+ * Handy buffer manipulation macros
+ */
#define MDNS_BUF(b) (b)->b_buf
#define MDNS_BUFSZ(b) (b)->b_sz
#define MDNS_BUFLEN(b) (b)->b_len
@@ -64,7 +70,7 @@
* Buffer pool
*/
struct mdns_bufpool {
- uint32_t bp_magic;
+ MAGIC(bp_magic);
TAILQ_HEAD(, mdns_buf) bp_list; /* free list */
size_t bp_defsz; /* default segment size */
int bp_lim; /* max number of segments */
@@ -83,6 +89,9 @@
size_t bh_size; /* number of buffer segments in list */
};
+/*
+ * Handy buffer head manipulation macros
+ */
#define MDNS_BUFHEAD(bh) (bh)->bh_list
#define MDNS_BUFH(bh) TAILQ_FIRST(&(bh)->bh_list)
#define MDNS_BUFHSZ(bh) (bh)->bh_size
@@ -97,5 +106,5 @@
void mdns_bufpool_setsize(struct mdns_bufpool *, size_t);
size_t mdns_bufpool_getsize(struct mdns_bufpool *);
-#endif /* _CORE_BUF_H_ */
+#endif /* _STACK_BUF_H_ */
More information about the p4-projects
mailing list