Path: utzoo!attcan!uunet!lll-winken!ames!oliveb!apple!bloom-beacon!EXPO.LCS.MIT.EDU!rws From: rws@EXPO.LCS.MIT.EDU (Bob Scheifler) Newsgroups: comp.windows.x Subject: Re: Could someone explain what the serial field of an XAnyEvent structure is? Message-ID: <8903282320.AA07483@EXPIRE.LCS.MIT.EDU> Date: 28 Mar 89 23:20:05 GMT References: <8903282219.AA10302@b.sei.cmu.edu> Sender: daemon@bloom-beacon.MIT.EDU Organization: The Internet Lines: 23 Each protocol request issued by a client is assigned a serial number. The serial number in an event, reply, or error indicates the last request executed (or executing) by the client. By the time the client receives the event, reply, or error, there is no guarantee that no additional requests have been executed, hence it is the "last known" request (as far as Xlib has ascertained) to have been executed by the server. 1) There are holes in the numbering. Does this mean that I am not selecting for all possible events, or that some events are being sent to other clients, or am I just way out in left field? Events aren't numbered, requests are. You shouldn't expect "by 1" increments. 2) There are more serial fields with the same number than I would have expected. The documentation led me to believe that each time the server processed an event, it would increment the serial field, but it doesn't appear to work this way. No, each time it processes a request. If a request generates multiple events, all of them will have the same serial number. If multiple events are generated between two requests by a client, all of the events to that client will have the same serial number.