Merge branch 'hotfix/fsyncqueue' of XenotriX/uGFX into master
This commit is contained in:
commit
fe8c80f434
@ -296,7 +296,7 @@ void _gqueueDeinit(void)
|
|||||||
pqueue->head = pqueue->tail = 0;
|
pqueue->head = pqueue->tail = 0;
|
||||||
gfxSemInit(&pqueue->sem, 0, MAX_SEMAPHORE_COUNT);
|
gfxSemInit(&pqueue->sem, 0, MAX_SEMAPHORE_COUNT);
|
||||||
}
|
}
|
||||||
void gfxQueueFSyncDeinit(gfxQueueGSync *pqueue) {
|
void gfxQueueFSyncDeinit(gfxQueueFSync *pqueue) {
|
||||||
while(gfxQueueFSyncGet(pqueue, gDelayNone));
|
while(gfxQueueFSyncGet(pqueue, gDelayNone));
|
||||||
pqueue->head = pqueue->tail = 0;
|
pqueue->head = pqueue->tail = 0;
|
||||||
gfxSemDestroy(&pqueue->sem);
|
gfxSemDestroy(&pqueue->sem);
|
||||||
@ -355,12 +355,12 @@ void _gqueueDeinit(void)
|
|||||||
return gfxSemWait(&pitem->sem, ms);
|
return gfxSemWait(&pitem->sem, ms);
|
||||||
}
|
}
|
||||||
|
|
||||||
gBool gfxQueueFSyncInsert(gfxQueueFSync *pqueue, gfxQueueFSyncItem *pitem, gfxQueueASyncItem *pafter, gDelay ms) {
|
gBool gfxQueueFSyncInsert(gfxQueueFSync *pqueue, gfxQueueFSyncItem *pitem, gfxQueueFSyncItem *pafter, gDelay ms) {
|
||||||
if (!pitem) return; // Safety
|
if (!pitem) return; // Safety
|
||||||
gfxSemInit(&pitem->sem, 0, 1);
|
gfxSemInit(&pitem->sem, 0, 1);
|
||||||
|
|
||||||
gfxSystemLock();
|
gfxSystemLock();
|
||||||
if (pafter && gfxQueueGSyncIsInI(pqueue, pafter)) {
|
if (pafter && gfxQueueFSyncIsInI(pqueue, pafter)) {
|
||||||
pitem->next = pafter->next;
|
pitem->next = pafter->next;
|
||||||
pafter->next = pitem;
|
pafter->next = pitem;
|
||||||
if (pqueue->tail == pafter)
|
if (pqueue->tail == pafter)
|
||||||
@ -419,7 +419,7 @@ void _gqueueDeinit(void)
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
gBool gfxQueueFSyncIsInI(gfxQueueFSync *pqueue, const gfxQueueFSyncItem *pitem) {
|
gBool gfxQueueFSyncIsInI(gfxQueueFSync *pqueue, const gfxQueueFSyncItem *pitem) {
|
||||||
gfxQueueASyncItem *pi;
|
gfxQueueFSyncItem *pi;
|
||||||
|
|
||||||
for(pi = pqueue->head; pi; pi = pi->next) {
|
for(pi = pqueue->head; pi; pi = pi->next) {
|
||||||
if (pi == pitem)
|
if (pi == pitem)
|
||||||
|
@ -223,7 +223,7 @@ void gfxQueueASyncInsert(gfxQueueASync *pqueue, gfxQueueASyncItem *pitem, gfxQue
|
|||||||
void gfxQueueASyncInsertI(gfxQueueASync *pqueue, gfxQueueASyncItem *pitem, gfxQueueASyncItem *pafter);
|
void gfxQueueASyncInsertI(gfxQueueASync *pqueue, gfxQueueASyncItem *pitem, gfxQueueASyncItem *pafter);
|
||||||
void gfxQueueGSyncInsert(gfxQueueGSync *pqueue, gfxQueueGSyncItem *pitem, gfxQueueASyncItem *pafter);
|
void gfxQueueGSyncInsert(gfxQueueGSync *pqueue, gfxQueueGSyncItem *pitem, gfxQueueASyncItem *pafter);
|
||||||
void gfxQueueGSyncInsertI(gfxQueueGSync *pqueue, gfxQueueGSyncItem *pitem, gfxQueueASyncItem *pafter);
|
void gfxQueueGSyncInsertI(gfxQueueGSync *pqueue, gfxQueueGSyncItem *pitem, gfxQueueASyncItem *pafter);
|
||||||
gBool gfxQueueFSyncInsert(gfxQueueFSync *pqueue, gfxQueueFSyncItem *pitem, gfxQueueASyncItem *pafter, gDelay ms);
|
gBool gfxQueueFSyncInsert(gfxQueueFSync *pqueue, gfxQueueFSyncItem *pitem, gfxQueueFSyncItem *pafter, gDelay ms);
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user