- main: no global vars
- changed data types in fifo git-svn-id: http://moon:8086/svn/projects/HendiControl@39 fda53097-d464-4ada-af97-ba876c37ca34
This commit is contained in:
@@ -14,7 +14,7 @@
|
||||
|
||||
typedef struct _sFifo
|
||||
{
|
||||
void **ppData;
|
||||
uint8_t **ppData;
|
||||
size_t capacity;
|
||||
size_t itemSize;
|
||||
size_t volatile fill;
|
||||
@@ -29,23 +29,7 @@ int fifo_push(Fifo *pObj, void *pItem);
|
||||
int fifo_pop(Fifo *pObj, void *pItem);
|
||||
int fifo_isEmpty(Fifo *pObj);
|
||||
|
||||
static volatile size_t criticalCount = 0;
|
||||
void enterCritical();
|
||||
void exitCritial();
|
||||
|
||||
static inline void enterCritical()
|
||||
{
|
||||
cli();
|
||||
criticalCount++;
|
||||
}
|
||||
|
||||
static inline void exitCritial()
|
||||
{
|
||||
if (criticalCount)
|
||||
{
|
||||
criticalCount--;
|
||||
if (!criticalCount)
|
||||
{
|
||||
sei();
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif /* FIFO_H_ */
|
||||
Reference in New Issue
Block a user