diff --git a/reactos/include/reactos/chew/chew.h b/reactos/include/reactos/chew/chew.h
index 16b8ae9f9bc..cc5f166965c 100644
--- a/reactos/include/reactos/chew/chew.h
+++ b/reactos/include/reactos/chew/chew.h
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
- * FILE: include/chew/chew.h
+ * FILE: include/reactos/chew/chew.h
* PURPOSE: Common Highlevel Executive Worker
*
* PROGRAMMERS: arty (ayerkes@speakeasy.net)
@@ -14,15 +14,16 @@
* Initialize CHEW, given a device object (since IoAllocateWorkItem relies on
* it).
*/
-VOID ChewInit( PDEVICE_OBJECT DeviceObject );
+VOID ChewInit(PDEVICE_OBJECT DeviceObject);
+
/**
* Shutdown CHEW, waits for remaining work items.
*/
-VOID ChewShutdown();
+VOID ChewShutdown(VOID);
+
/**
* Creates and queues a work item.
*/
-BOOLEAN ChewCreate
-( VOID (*Worker)(PVOID), PVOID WorkerContext );
+BOOLEAN ChewCreate(VOID (*Worker)(PVOID), PVOID WorkerContext);
#endif/*_REACTOS_CHEW_H*/
diff --git a/reactos/include/reactos/chew/chew/.gitignore b/reactos/include/reactos/chew/chew/.gitignore
deleted file mode 100644
index e69de29bb2d..00000000000
diff --git a/reactos/lib/drivers/chew/chew.rbuild b/reactos/lib/drivers/chew/chew.rbuild
index 3c1f355cf60..cf512c6f0aa 100644
--- a/reactos/lib/drivers/chew/chew.rbuild
+++ b/reactos/lib/drivers/chew/chew.rbuild
@@ -4,4 +4,4 @@
include
workqueue.c
-
\ No newline at end of file
+
diff --git a/reactos/lib/drivers/chew/workqueue.c b/reactos/lib/drivers/chew/workqueue.c
index 978e5a41ed4..81f1aad7ecb 100644
--- a/reactos/lib/drivers/chew/workqueue.c
+++ b/reactos/lib/drivers/chew/workqueue.c
@@ -1,82 +1,93 @@
-/*
- * COPYRIGHT: See COPYING in the top level directory
- * PROJECT: ReactOS kernel
- * FILE: drivers/lib/chew/workqueue.c
- * PURPOSE: Common Highlevel Executive Worker
- *
- * PROGRAMMERS: arty (ayerkes@speakeasy.net)
- */
-#include
-#include
-
-#define NDEBUG
-
+/*
+ * COPYRIGHT: See COPYING in the top level directory
+ * PROJECT: ReactOS kernel
+ * FILE: lib/drivers/chew/workqueue.c
+ * PURPOSE: Common Highlevel Executive Worker
+ *
+ * PROGRAMMERS: arty (ayerkes@speakeasy.net)
+ */
+
+#include
+#include
+
+#define NDEBUG
+//#include
+
#define FOURCC(w,x,y,z) (((w) << 24) | ((x) << 16) | ((y) << 8) | (z))
-#define CHEW_TAG FOURCC('C','H','E','W')
-
-PDEVICE_OBJECT WorkQueueDevice;
-LIST_ENTRY WorkQueue;
+#define CHEW_TAG FOURCC('C','H','E','W')
+
+PDEVICE_OBJECT WorkQueueDevice;
+LIST_ENTRY WorkQueue;
KSPIN_LOCK WorkQueueLock;
-KEVENT WorkQueueClear;
-
-typedef struct _WORK_ITEM {
- LIST_ENTRY Entry;
- PIO_WORKITEM WorkItem;
- VOID (*Worker)( PVOID WorkerContext );
- PVOID WorkerContext;
-} WORK_ITEM, *PWORK_ITEM;
-
-VOID ChewInit( PDEVICE_OBJECT DeviceObject ) {
- WorkQueueDevice = DeviceObject;
- InitializeListHead( &WorkQueue );
- KeInitializeSpinLock( &WorkQueueLock );
- KeInitializeEvent(&WorkQueueClear, NotificationEvent, TRUE);
-}
-
-VOID ChewShutdown() {
- KeWaitForSingleObject(&WorkQueueClear, Executive, KernelMode, FALSE, NULL);
-}
-
-VOID NTAPI ChewWorkItem( PDEVICE_OBJECT DeviceObject, PVOID ChewItem ) {
+KEVENT WorkQueueClear;
+
+typedef struct _WORK_ITEM
+{
+ LIST_ENTRY Entry;
+ PIO_WORKITEM WorkItem;
+ VOID (*Worker)(PVOID WorkerContext);
+ PVOID WorkerContext;
+} WORK_ITEM, *PWORK_ITEM;
+
+VOID ChewInit(PDEVICE_OBJECT DeviceObject)
+{
+ WorkQueueDevice = DeviceObject;
+ InitializeListHead(&WorkQueue);
+ KeInitializeSpinLock(&WorkQueueLock);
+ KeInitializeEvent(&WorkQueueClear, NotificationEvent, TRUE);
+}
+
+VOID ChewShutdown(VOID)
+{
+ KeWaitForSingleObject(&WorkQueueClear, Executive, KernelMode, FALSE, NULL);
+}
+
+VOID NTAPI ChewWorkItem(PDEVICE_OBJECT DeviceObject, PVOID ChewItem)
+{
PWORK_ITEM WorkItem = ChewItem;
- KIRQL OldIrql;
-
- WorkItem->Worker( WorkItem->WorkerContext );
-
- IoFreeWorkItem( WorkItem->WorkItem );
+ KIRQL OldIrql;
+
+ WorkItem->Worker(WorkItem->WorkerContext);
+
+ IoFreeWorkItem(WorkItem->WorkItem);
KeAcquireSpinLock(&WorkQueueLock, &OldIrql);
RemoveEntryList(&WorkItem->Entry);
if (IsListEmpty(&WorkQueue))
KeSetEvent(&WorkQueueClear, 0, FALSE);
+
KeReleaseSpinLock(&WorkQueueLock, OldIrql);
- ExFreePoolWithTag(WorkItem, CHEW_TAG);
-}
-
-BOOLEAN ChewCreate
-( VOID (*Worker)( PVOID ), PVOID WorkerContext ) {
+ ExFreePoolWithTag(WorkItem, CHEW_TAG);
+}
+
+BOOLEAN ChewCreate(VOID (*Worker)(PVOID), PVOID WorkerContext)
+{
PWORK_ITEM Item;
-
Item = ExAllocatePoolWithTag
- ( NonPagedPool,
- sizeof( WORK_ITEM ),
- CHEW_TAG );
-
- if( Item ) {
- Item->WorkItem = IoAllocateWorkItem( WorkQueueDevice );
- if( !Item->WorkItem ) {
- ExFreePool( Item );
- return FALSE;
- }
- Item->Worker = Worker;
- Item->WorkerContext = WorkerContext;
- ExInterlockedInsertTailList( &WorkQueue, &Item->Entry, &WorkQueueLock );
- KeResetEvent(&WorkQueueClear);
- IoQueueWorkItem( Item->WorkItem, ChewWorkItem, DelayedWorkQueue, Item );
-
- return TRUE;
- } else {
- return FALSE;
- }
-}
+ Item = ExAllocatePoolWithTag(NonPagedPool,
+ sizeof(WORK_ITEM),
+ CHEW_TAG);
+
+ if (Item)
+ {
+ Item->WorkItem = IoAllocateWorkItem(WorkQueueDevice);
+ if (!Item->WorkItem)
+ {
+ ExFreePool(Item);
+ return FALSE;
+ }
+
+ Item->Worker = Worker;
+ Item->WorkerContext = WorkerContext;
+ ExInterlockedInsertTailList(&WorkQueue, &Item->Entry, &WorkQueueLock);
+ KeResetEvent(&WorkQueueClear);
+ IoQueueWorkItem(Item->WorkItem, ChewWorkItem, DelayedWorkQueue, Item);
+
+ return TRUE;
+ }
+ else
+ {
+ return FALSE;
+ }
+}