Previous 199869 Revisions Next

r32097 Saturday 13th September, 2014 at 10:16:28 UTC by Oliver Stöneberg
a bit more work to match sdlwork.c and winwork.c (nw)
[src/osd/windows]winwork.c

trunk/src/osd/windows/winwork.c
r32096r32097
159159   TCHAR *osdworkqueuemaxthreads = _tgetenv(_T("OSDWORKQUEUEMAXTHREADS"));
160160
161161   // allocate a new queue
162   queue = (osd_work_queue *)malloc(sizeof(*queue));
162   queue = (osd_work_queue *)osd_malloc(sizeof(*queue));
163163   if (queue == NULL)
164164      goto error;
165165   memset(queue, 0, sizeof(*queue));
r32096r32097
199199   queue->threads = MIN(queue->threads, WORK_MAX_THREADS);
200200
201201   // allocate memory for thread array (+1 to count the calling thread)
202   queue->thread = (work_thread_info *)malloc((queue->threads + 1) * sizeof(queue->thread[0]));
202   queue->thread = (work_thread_info *)osd_malloc_array((queue->threads + 1) * sizeof(queue->thread[0]));
203203   if (queue->thread == NULL)
204204      goto error;
205205   memset(queue->thread, 0, (queue->threads + 1) * sizeof(queue->thread[0]));
r32096r32097
364364
365365   // free the list
366366   if (queue->thread != NULL)
367      free(queue->thread);
367      osd_free(queue->thread);
368368
369369   // free all the events
370370   if (queue->doneevent != NULL)
r32096r32097
377377      queue->free = item->next;
378378      if (item->event != NULL)
379379         CloseHandle(item->event);
380      free(item);
380      osd_free(item);
381381   }
382382
383383   // free all items in the active list
r32096r32097
387387      queue->list = item->next;
388388      if (item->event != NULL)
389389         CloseHandle(item->event);
390      free(item);
390      osd_free(item);
391391   }
392392
393393#if KEEP_STATISTICS
r32096r32097
399399
400400   osd_scalable_lock_free(queue->lock);
401401   // free the queue itself
402   free(queue);
402   osd_free(queue);
403403}
404404
405405
r32096r32097
429429      if (item == NULL)
430430      {
431431         // allocate the item
432         item = (osd_work_item *)malloc(sizeof(*item));
432         item = (osd_work_item *)osd_malloc(sizeof(*item));
433433         if (item == NULL)
434434            return NULL;
435435         item->event = NULL;

Previous 199869 Revisions Next


© 1997-2024 The MAME Team