Thank you for giving such a nice explanation!
    Yes, I have read xnee source code and find the work_round you marked works fine with avoiding X server crash.
    I have tested RECORD in Solaris. in U5 with os 5.9, Xserver must be crashed when launch large program like netscape or staroffice after starting RECORD extension if only set diliverd Event field(that is, Error filed's first and last are both set to 0).
    If both event and error filed are set, then Xserver won't crash. At least, during my test, no once xserver_crash happened!
    So, I also though the problem is in RECORD. By passing different arguments( valid argument by its documents) with same run environment, result will be completely different. Is it the proof?
    And, I also have been reading RECORD's source code(client side and server side). As Henrik said,"delivered event" and "error" are handled inside the RECORD extension by the same function, However I did not found anything wrong with this function. For in Event struct, type = 0 means it's an error and type = 1 means it's a reply and 2 to 35 are the core event type. So dealing error and event in the same event seems nothing bad. Maybe bad thing exists I haven't found. :(
    BTW, I download the source code from XFree CVS, but faild to build them. I download the whole xc and in record directory use "xmkmf -a" to bulid, but error happens: some *.h not found which indeed exist. Does I miss anything to build with?
   

Reply via email to