https://git.reactos.org/?p=reactos.git;a=commitdiff;h=adfbefde2b237f757d741…
commit adfbefde2b237f757d741e0cf17197e51599d436
Author: Thomas Faber <thomas.faber(a)reactos.org>
AuthorDate: Sun Aug 19 13:27:04 2018 +0200
Commit: Thomas Faber <thomas.faber(a)reactos.org>
CommitDate: Sun Aug 19 13:46:02 2018 +0200
[WINED3D] Avoid spinning in wined3d_cs_run. CORE-14534
Spinning here is supposed to improve performance by avoiding scheduling
overhead, but because ReactOS's Win32 subsystem does not deal with this well,
it causes the system to freeze on ROS.
As a workaround, we disable spinning and jump directly to the wait.
It should become obvious when this starts actually causing performance issues
again and it's time to undo.
---
dll/directx/wine/wined3d/wined3d_private.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/dll/directx/wine/wined3d/wined3d_private.h b/dll/directx/wine/wined3d/wined3d_private.h
index 7b3731c014..3444b52928 100644
--- a/dll/directx/wine/wined3d/wined3d_private.h
+++ b/dll/directx/wine/wined3d/wined3d_private.h
@@ -3544,7 +3544,11 @@ enum wined3d_push_constants
#define WINED3D_CS_QUERY_POLL_INTERVAL 10u
#define WINED3D_CS_QUEUE_SIZE 0x100000u
+#ifdef __REACTOS__
+#define WINED3D_CS_SPIN_COUNT 1u
+#else
#define WINED3D_CS_SPIN_COUNT 10000000u
+#endif
struct wined3d_cs_queue
{
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=9bffdcb6e7e6f6e132488…
commit 9bffdcb6e7e6f6e1324886daa0ad6d3afc3b03c2
Author: Thomas Faber <thomas.faber(a)reactos.org>
AuthorDate: Sun Aug 19 12:02:17 2018 +0200
Commit: Thomas Faber <thomas.faber(a)reactos.org>
CommitDate: Sun Aug 19 12:02:24 2018 +0200
[USER32] Log the text of message boxes to help figure out some test bot timeouts.
---
win32ss/user/user32/windows/messagebox.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/win32ss/user/user32/windows/messagebox.c b/win32ss/user/user32/windows/messagebox.c
index 658ba763b4..57033ad4e6 100644
--- a/win32ss/user/user32/windows/messagebox.c
+++ b/win32ss/user/user32/windows/messagebox.c
@@ -1045,6 +1045,7 @@ SoftModalMessageBox(IN LPMSGBOXDATA lpMsgBoxData)
tpl->cy = RESCALE_Y(btntop, units);
/* Finally show the message-box */
+ ERR("MessageBox: %s\n", wine_dbgstr_wn(lpMsgBoxParams->lpszText, textlen));
ret = DialogBoxIndirectParamW(lpMsgBoxParams->hInstance, tpl,
lpMsgBoxParams->hwndOwner,
MessageBoxProc, (LPARAM)&mbd);
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=c1ac347825fe4d47ba206…
commit c1ac347825fe4d47ba206d94c9f91130e0c78dd8
Author: Pierre Schweitzer <pierre(a)reactos.org>
AuthorDate: Sun Aug 19 11:11:21 2018 +0200
Commit: Pierre Schweitzer <pierre(a)reactos.org>
CommitDate: Sun Aug 19 11:11:21 2018 +0200
[CDROM] Set proper status on disk verify
This avoids an assert under certain conditions in CDFS.
Check cdrom_new for reference.
CORE-14873
---
drivers/storage/class/cdrom/cdrom.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/storage/class/cdrom/cdrom.c b/drivers/storage/class/cdrom/cdrom.c
index 69ddd19f9d..a1c477ef9e 100644
--- a/drivers/storage/class/cdrom/cdrom.c
+++ b/drivers/storage/class/cdrom/cdrom.c
@@ -7156,7 +7156,7 @@ Return Value:
// upon completion of the read capacity.
//
- IrpToComplete->IoStatus.Status = STATUS_VERIFY_REQUIRED;
+ IrpToComplete->IoStatus.Status = STATUS_IO_DEVICE_ERROR;
IoMarkIrpPending(IrpToComplete);
IoCallDriver(DeviceExtension->PortDeviceObject, irp);