int main(int argc, char **argv) { void CheckBuckets(struct gainbucket GB, long n, long bs); long n, bs, i, j, offset; struct gainbucket GB ; printf("Test BucketInsert: "); n= 100 ; /* number of buckets */ bs = 5; /* bucket size */ offset = n/2 ; /* Insert vertices in increasing order of gain value */ GB.NrBuckets =0 ; GB.Root = NULL ; for (j=0; j<bs; j++) for (i=0; i<n; i++) BucketInsert(&GB, i-offset, j*n + i) ; CheckBuckets(GB, n, bs) ; printf("OK\n") ; exit(0); } /* end main */
/** * Main loop for processing segments * @param ptr useless */ static void * process(void * ptr) { Bucket * b = NULL; Segment * seg = NULL; int turn = 0; while ((seg = (Segment *) Dequeue(service._iq)) != NULL) { if (seg->unique) { b = BucketInsert(b, seg); } Enqueue(service._oq, seg); } if (b != NULL) { SaveBucket(b); } Enqueue(service._oq, NULL); return NULL; }