Skip to content

Commit e957e33

Browse files
authored
Lock X updates for all systems and lock around X cleanup at exit (#391)
* Lock X updates for all systems and lock around X cleanup at exit All systems which could generate I/O interrupts on the X file descriptor need to have locking enabled, or there is a high probability that the X library will deadlock. This requirement may be removed in the future with restructuring of the way that the interrupt driven I/O is handled. Ensure that the appropriate XLOCK/XUNLOCK is done around the X window closing code. * Also lock X updates when building with CMake.
1 parent 934a86f commit e957e33

21 files changed

+23
-21
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ OPTION(MAIKO_DISPLAY_X11 "Use X11 for display." ON)
3030
IF(MAIKO_DISPLAY_X11)
3131
FIND_PACKAGE(X11 REQUIRED)
3232
SET(MAIKO_DISPLAY_X11_DEFINITIONS
33-
"-DXWINDOW"
33+
"-DXWINDOW -DLOCK_X_UPDATES"
3434
)
3535
SET(MAIKO_DISPLAY_X11_LIBRARIES X11::X11)
3636
SET(MAIKO_DISPLAY_X11_SRCS

bin/makefile-cygwin.x86_64-x

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ XFILES = $(OBJECTDIR)xmkicon.o \
1414
$(OBJECTDIR)xwinman.o
1515

1616

17-
XFLAGS = -DXWINDOW
17+
XFLAGS = -DXWINDOW -DLOCK_X_UPDATES
1818

1919
# OPTFLAGS is normally -O2.
2020
OPTFLAGS = -O2 -g3

bin/makefile-darwin.386-x

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ XFILES = $(OBJECTDIR)xmkicon.o \
1313
$(OBJECTDIR)xwinman.o
1414

1515

16-
XFLAGS = -I/opt/X11/include -DXWINDOW
16+
XFLAGS = -I/opt/X11/include -DXWINDOW -DLOCK_X_UPDATES
1717

1818
# OPTFLAGS is normally -O2.
1919
OPTFLAGS = -O2 -g

bin/makefile-darwin.aarch64-x

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ XFILES = $(OBJECTDIR)xmkicon.o \
1313
$(OBJECTDIR)xwinman.o
1414

1515

16-
XFLAGS = -I/opt/X11/include -DXWINDOW
16+
XFLAGS = -I/opt/X11/include -DXWINDOW -DLOCK_X_UPDATES
1717

1818
# OPTFLAGS is normally -O2.
1919
OPTFLAGS = -O2

bin/makefile-darwin.ppc-x

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ XFILES = $(OBJECTDIR)xmkicon.o \
1313
$(OBJECTDIR)xwinman.o
1414

1515

16-
XFLAGS = -I/usr/X11/include -DXWINDOW
16+
XFLAGS = -I/usr/X11/include -DXWINDOW -DLOCK_X_UPDATES
1717

1818
# OPTFLAGS is normally -O2.
1919
OPTFLAGS = -O2 -g

bin/makefile-darwin.x86_64-x

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ XFILES = $(OBJECTDIR)xmkicon.o \
1313
$(OBJECTDIR)xwinman.o
1414

1515

16-
XFLAGS = -I/opt/X11/include -DXWINDOW
16+
XFLAGS = -I/opt/X11/include -DXWINDOW -DLOCK_X_UPDATES
1717

1818
# OPTFLAGS is normally -O2.
1919
OPTFLAGS = -O1 -g

bin/makefile-init-darwin.386

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ XFILES = $(OBJECTDIR)xmkicon.o \
1313
$(OBJECTDIR)xwinman.o
1414

1515

16-
XFLAGS = -I/opt/X11/include -DXWINDOW
16+
XFLAGS = -I/opt/X11/include -DXWINDOW -DLOCK_X_UPDATES
1717

1818
# OPTFLAGS is normally -O2, for INIT we want unoptimized in case we need to debug it
1919
OPTFLAGS = -O0 -g

bin/makefile-init-darwin.aarch64

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ XFILES = $(OBJECTDIR)xmkicon.o \
1313
$(OBJECTDIR)xwinman.o
1414

1515

16-
XFLAGS = -I/opt/X11/include -DXWINDOW
16+
XFLAGS = -I/opt/X11/include -DXWINDOW -DLOCK_X_UPDATES
1717

1818
# OPTFLAGS is normally -O2.
1919
OPTFLAGS = -O0 -g3

bin/makefile-init-darwin.x86_64

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ XFILES = $(OBJECTDIR)xmkicon.o \
1313
$(OBJECTDIR)xwinman.o
1414

1515

16-
XFLAGS = -I/opt/X11/include -DXWINDOW
16+
XFLAGS = -I/opt/X11/include -DXWINDOW -DLOCK_X_UPDATES
1717

1818
# OPTFLAGS is normally -O2.
1919
OPTFLAGS = -O0 -g

bin/makefile-init-linux.x86_64

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ XFILES = $(OBJECTDIR)xmkicon.o \
1414
$(OBJECTDIR)xwinman.o
1515

1616

17-
XFLAGS = -DXWINDOW
17+
XFLAGS = -DXWINDOW -DLOCK_X_UPDATES
1818

1919
# OPTFLAGS is normally -O2, for INIT we want unoptimized in case we need to debug it
2020
OPTFLAGS = -O0 -g

0 commit comments

Comments
 (0)