Add some safety parameter checking to queueing

ugfx_release_2.6
inmarket 2014-03-24 10:07:02 +10:00
parent 56b416708c
commit c7566aa553
1 changed files with 9 additions and 7 deletions

View File

@ -64,6 +64,7 @@ void _gqueueDeinit(void)
gfxSystemUnlock(); gfxSystemUnlock();
} }
void gfxQueueASyncPutI(gfxQueueASync *pqueue, gfxQueueASyncItem *pitem) { void gfxQueueASyncPutI(gfxQueueASync *pqueue, gfxQueueASyncItem *pitem) {
if (!pitem) return; // Safety
pitem->next = 0; pitem->next = 0;
if (!pqueue->head) { if (!pqueue->head) {
pqueue->head = pqueue->tail = pitem; pqueue->head = pqueue->tail = pitem;
@ -79,6 +80,7 @@ void _gqueueDeinit(void)
gfxSystemUnlock(); gfxSystemUnlock();
} }
void gfxQueueASyncPushI(gfxQueueASync *pqueue, gfxQueueASyncItem *pitem) { void gfxQueueASyncPushI(gfxQueueASync *pqueue, gfxQueueASyncItem *pitem) {
if (!pitem) return; // Safety
pitem->next = pqueue->head; pitem->next = pqueue->head;
pqueue->head = pitem; pqueue->head = pitem;
if (!pitem->next) if (!pitem->next)
@ -93,8 +95,7 @@ void _gqueueDeinit(void)
void gfxQueueASyncRemoveI(gfxQueueASync *pqueue, gfxQueueASyncItem *pitem) { void gfxQueueASyncRemoveI(gfxQueueASync *pqueue, gfxQueueASyncItem *pitem) {
gfxQueueASyncItem *pi; gfxQueueASyncItem *pi;
if (!pitem) if (!pitem) return; // Safety
return;
if (pqueue->head) { if (pqueue->head) {
if (pqueue->head == pitem) { if (pqueue->head == pitem) {
pqueue->head = pitem->next; pqueue->head = pitem->next;
@ -175,6 +176,7 @@ void _gqueueDeinit(void)
gfxSystemUnlock(); gfxSystemUnlock();
} }
void gfxQueueGSyncPutI(gfxQueueGSync *pqueue, gfxQueueGSyncItem *pitem) { void gfxQueueGSyncPutI(gfxQueueGSync *pqueue, gfxQueueGSyncItem *pitem) {
if (!pitem) return; // Safety
pitem->next = 0; pitem->next = 0;
if (!pqueue->head) { if (!pqueue->head) {
pqueue->head = pqueue->tail = pitem; pqueue->head = pqueue->tail = pitem;
@ -191,6 +193,7 @@ void _gqueueDeinit(void)
gfxSystemUnlock(); gfxSystemUnlock();
} }
void gfxQueueGSyncPushI(gfxQueueGSync *pqueue, gfxQueueGSyncItem *pitem) { void gfxQueueGSyncPushI(gfxQueueGSync *pqueue, gfxQueueGSyncItem *pitem) {
if (!pitem) return; // Safety
pitem->next = pqueue->head; pitem->next = pqueue->head;
pqueue->head = pitem; pqueue->head = pitem;
if (!pitem->next) if (!pitem->next)
@ -206,8 +209,7 @@ void _gqueueDeinit(void)
void gfxQueueGSyncRemoveI(gfxQueueGSync *pqueue, gfxQueueGSyncItem *pitem) { void gfxQueueGSyncRemoveI(gfxQueueGSync *pqueue, gfxQueueGSyncItem *pitem) {
gfxQueueGSyncItem *pi; gfxQueueGSyncItem *pi;
if (!pitem) if (!pitem) return; // Safety
return;
if (pqueue->head) { if (pqueue->head) {
if (pqueue->head == pitem) { if (pqueue->head == pitem) {
pqueue->head = pitem->next; pqueue->head = pitem->next;
@ -276,6 +278,7 @@ void _gqueueDeinit(void)
} }
bool_t gfxQueueFSyncPut(gfxQueueFSync *pqueue, gfxQueueFSyncItem *pitem, delaytime_t ms) { bool_t gfxQueueFSyncPut(gfxQueueFSync *pqueue, gfxQueueFSyncItem *pitem, delaytime_t ms) {
if (!pitem) return; // Safety
gfxSemInit(&pitem->sem, 0, 1); gfxSemInit(&pitem->sem, 0, 1);
pitem->next = 0; pitem->next = 0;
@ -294,6 +297,7 @@ void _gqueueDeinit(void)
} }
bool_t gfxQueueFSyncPush(gfxQueueFSync *pqueue, gfxQueueFSyncItem *pitem, delaytime_t ms) { bool_t gfxQueueFSyncPush(gfxQueueFSync *pqueue, gfxQueueFSyncItem *pitem, delaytime_t ms) {
if (!pitem) return; // Safety
gfxSemInit(&pitem->sem, 0, 1); gfxSemInit(&pitem->sem, 0, 1);
gfxSystemLock(); gfxSystemLock();
@ -311,9 +315,7 @@ void _gqueueDeinit(void)
void gfxQueueFSyncRemove(gfxQueueFSync *pqueue, gfxQueueFSyncItem *pitem) { void gfxQueueFSyncRemove(gfxQueueFSync *pqueue, gfxQueueFSyncItem *pitem) {
gfxQueueFSyncItem *pi; gfxQueueFSyncItem *pi;
if (!pitem) if (!pitem) return; // Safety
return;
gfxSystemLock(); gfxSystemLock();
if (pqueue->head) { if (pqueue->head) {
if (pqueue->head == pitem) { if (pqueue->head == pitem) {