Browse Source

test

release/v0.1
jl777 9 years ago
parent
commit
fccbf0a098
  1. 4
      crypto777/iguana_OS.c
  2. 4
      iguana/main.c

4
crypto777/iguana_OS.c

@ -249,13 +249,15 @@ void *queue_dequeue(queue_t *queue,int32_t offsetflag)
void *queue_delete(queue_t *queue,struct queueitem *copy,int32_t copysize,int32_t freeitem) void *queue_delete(queue_t *queue,struct queueitem *copy,int32_t copysize,int32_t freeitem)
{ {
struct allocitem *ptr;
struct queueitem *item = 0; struct queueitem *item = 0;
lock_queue(queue); lock_queue(queue);
if ( queue->list != 0 ) if ( queue->list != 0 )
{ {
DL_FOREACH(queue->list,item) DL_FOREACH(queue->list,item)
{ {
if ( item == copy || memcmp((void *)((long)item + sizeof(struct queueitem)),(void *)((long)item + sizeof(struct queueitem)),copysize) == 0 ) ptr = (void *)((long)item - sizeof(struct allocitem));
if ( item == copy || (ptr->allocsize == copysize && memcmp((void *)((long)item + sizeof(struct queueitem)),(void *)((long)item + sizeof(struct queueitem)),copysize) == 0) )
{ {
DL_DELETE(queue->list,item); DL_DELETE(queue->list,item);
portable_mutex_unlock(&queue->mutex); portable_mutex_unlock(&queue->mutex);

4
iguana/main.c

@ -100,8 +100,8 @@ char *iguana_blockingjsonstr(struct supernet_info *myinfo,char *jsonstr,uint64_t
usleep(100); usleep(100);
if ( retjsonstr != 0 ) if ( retjsonstr != 0 )
{ {
//printf("blocking retjsonstr.(%s)\n",retjsonstr); printf("got blocking retjsonstr.(%s) delete allocsize.%d:%d\n",retjsonstr,allocsize,ptr->allocsize);
queue_delete(&finishedQ,&ptr->DL,allocsize,1); queue_delete(&finishedQ,&ptr->DL,ptr->allocsize,1);
return(retjsonstr); return(retjsonstr);
} }
usleep(1000); usleep(1000);

Loading…
Cancel
Save