From 8a5eac3457fa443d67638699207c6b3e510f8333 Mon Sep 17 00:00:00 2001 From: Uli Schlachter Date: Tue, 9 Mar 2021 08:15:33 +0100 Subject: [PATCH] Improve the docs for I3_SYNC I was confused by the previous state of the docs since I imagined that there is still a race possible. Thus, the images are updated to explicitly include the IPC reply from i3 (since that is an important synchronisation component). I also tried to clarify some of the text. Fixes: https://github.com/i3/i3/issues/4365 Signed-off-by: Uli Schlachter --- docs/i3-sync-working.dia | Bin 2762 -> 2992 bytes docs/i3-sync-working.png | Bin 25072 -> 20482 bytes docs/i3-sync.dia | Bin 2208 -> 2550 bytes docs/i3-sync.png | Bin 17308 -> 13568 bytes docs/testsuite | 16 ++++++++-------- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/i3-sync-working.dia b/docs/i3-sync-working.dia index 9f1c3bc8cae13895ca87b89239036f7f14c4718b..25803828997bace7babb8df51b18a705af3be17e 100644 GIT binary patch literal 2992 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 QXOB1k2e*BCJ%PCZ0H|wW!2kdN diff --git a/docs/i3-sync-working.png b/docs/i3-sync-working.png index dce44ac5ac4d2efe4d1d1751b499586613eca33f..419334d0e6659c4232a70972bf1f17c64300aa64 100644 GIT binary patch literal 20482 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 o;^Xq>prpz?v~1xQjbFJ1>@|^_ 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 N=9K)&6lv|-{|hP|e1-r3 literal 25072 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 MA0mj29ATIM0MtC=eEwYZ+DhF@eTztN z61oH;a3(W-=x?vNWReha15CoKk#<%g<{a#t^PO|-&+zfn^W4{-SQL9<@X&)g=xHn% zhprb)A9{a%{rNrZeR{n6=z7iv@oySAb4^?k#L1_J-i-6bhrwXATIv2v?C>zseQ&A9 zZ1A7s`_4c#8uT9TG;Lde>u@JIm!EYwkG#>6Gc9oD?4dVu#^0toImzFx zHhHU9GzzAV@4hh3S@bTut^DLhUfInaRK({_H1&dgU1EIvY%q{cu$>$xqyz(G;q|y& zu5Q$>I=@|YQM>BAc(@279yuQ0S2+qppE*IMl}AffT~9oAd|_h8x&^CCpLm>yC+>gZ z`0+U%$WFg{+@;<-jXd|b^X{}bAZ6vbd^UWRG+deV7fI5eyx1H0tnBW+fHx-or5W+X zUnfQI&E++%A(M76M7Wd@MlKH#)1~LK_=K75wmBeamNy%m8uenka|b3nRS4Lr3g3BQ zQ7-=TCRA(r51b>8=8U=bwEna;CgJEGHs*O}|Kv{KI+3fr*FJ~Oy-gk>vJlUG==~0M z2dmgUAxz-l-e@htjY)w%q{Z&o`tJnNfLTGx?ZA1gjF_-`HRnr3Rtk5XVQ%mqO+5kN1fqfU)eL?@-dkE7_9AM zxDRceNc1v@bYNQ~Q3H{Q?jhD~fYQ&@!d5lSJQbU?%LvEd$iCt094Vmn*|&x7XhfJNaWblV9v^a)D0ZKGqse)_{)6bDZQn` z$aE&Oj>8}jo-E)d-gC6|H`+`9RAQsTM0uFTd~NfsFx~y+r6BY|7%a~;P+b&6NN%Pf z5{uVV1JPDejT&82sm6DmYLxpJuIpo%$n`O7Y<$cBt@v1tE}i3JMETfvmd+cs0~wK> z&LcxN&8>7E5gp?$rSl$ExqLghd}b9Ym+xpUk0j^v2QZM-PBbiCItpS_xD%zXD2S;J z?W}g~1`7TSp@PA7U~p}Z3J5z2g!n3x8fF8_CkV-2K1pXb*2^b`{NV#Yd)Ls-W5ajex!b@ z>kh&?kP6Y=4AJIQLNsk6M4Qq>G}#K#w1p6Dst|qc5N$URqAi&rTF5tb0|>)RH0h8a za{F;v#o;#Mu=Tb=Fu0u%j3tI(dY$P)2yPzgfR3q|;@!F$F(I}R)ayny^277{AE*4@ z3l>X0Osf)wgRS78szoXtLac?-SYw%;xef!|K3{(yxE~ zq>3r&#Z+Q|IhUU!w?7Iu|X?b5ZE zcjy~h-hre6qPW!TU05Y0lqQRh20_9;Egc#O1)~G=oy&#mh~_aDfBScfWjqr=q+ORW z`JF^+lvaFTCv{Vyy3tS#Wrk|wDm)BmHn2HODiI^woR%>$^37>f{^m59Obl{+OpKN{ zr{(IT&br)Y_F*-$MMG--k!i>nCb>4nF;PiIx%DZQNoQCl(7Y1OgmwV)MCJ^WdC;6_ zf~juPwC3sv(PYX5Fe!dXix{XFCS7Hi$N|FN7+;0aH-Upc`Qg$n1H#(WV!Mx_OwPLy ze-Ev`Ktl+tmRNJfol~gidSfoLfU7=E=hSahV*N(akq6i`Y)nl+t4!LL4-P^#N}`>sdu%FjaX^ zTfABwL4))$)~P|TN_{G(J`>+t3}<2F{VOcW@sHw6;W6MBs}VU!Vvo|4#LH3gtaR3^ zj91NY@=)!q3jvoHto0}%R&uU7M99IG_%cJ80nT_z|6WpqEt6b%aU(l_~;G? zaeEdbskuWyiDED-2J?9_<&}kO@5U6=()>GWgoSL$Wg%k=Cp#1p7P5)VbO&EISjdXo z)DjEXQY_>vvXGm3*u2pI*$4yqWFvb+Ho{0g*{Eul6xm3TjgAHWW}XKtb;&7NcqgXF zy+IoH(}j0KqyiYGDZ%Z>|5z=&x4Q5y3jL-YOjQuFD~Np) iRQnfN-M>)8qU>|}ZtcgrotJMv-u(|wX0r99g8%@-r9)%@ diff --git a/docs/i3-sync.png b/docs/i3-sync.png index b64cce25959b1620084fc2214e35c2b7f9fb8a10..c9a5a01c81461cefb71e6549c1b3d85ddc9de4bb 100644 GIT binary patch literal 13568 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 literal 17308 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 diff --git a/docs/testsuite b/docs/testsuite index 145da158..afb542b9 100644 --- a/docs/testsuite +++ b/docs/testsuite @@ -481,7 +481,7 @@ an i3 crash resulting in the testcase being unable to communicate with i3 via IPC anymore. [[i3_sync]] -== Appendix A: The i3 sync protocol +== Appendix A: The I3_SYNC protocol Consider the following situation: You open two windows in your testcase, then you use +focus left+ and want to verify that the X11 focus has been updated @@ -499,9 +499,9 @@ is($x->input_focus, $left->id, 'left window focused'); However, the test fails. Sometimes. Apparently, there is a race condition in your test. If you think about it, this is because you are using two different pieces of software: You tell i3 to update focus, i3 confirms that, and then you -ask X11 to give you the current focus. There is a certain time i3 needs to -update the X11 state. If the testcase gets CPU time before X11 processed i3's -requests, the test will fail. +ask X11 to give you the current focus. There is a certain time that the X11 +server needs to process the requests from i3. If the testcase's request for the +input focus is processed before i3's requests, the test will fail. image::i3-sync.png["Diagram of the race condition", title="Diagram of the race condition"] @@ -531,10 +531,10 @@ less robust. The real solution for this problem is a mechanism which I call "the i3 sync protocol". The idea is to send a request (which does not modify state) via X11 -to i3 which will then be answered. Due to the request's position in the event -queue (*after* all previous events), you can be sure that by the time you -receive the reply, all other events have been dealt with by i3 (and, more -importantly, X11). +to i3 which will then be answered, again via X11. Because this answer is +generated via an X11 request, it will be sent to the X11 server *after* all +previous requests. Thus, you can be sure that by the time you receive the reply, +all other events have been dealt with by i3 (and, more importantly, X11). image::i3-sync-working.png["Diagram of the i3 sync solution", title="Diagram of the i3 sync solution"]