<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Tiago Vignatti &#187; gdb sucks</title>
	<atom:link href="http://vignatti.wordpress.com/tag/gdb-sucks/feed/" rel="self" type="application/rss+xml" />
	<link>http://vignatti.wordpress.com</link>
	<description>In The Eyes Of The World</description>
	<lastBuildDate>Mon, 09 Nov 2009 01:47:17 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='vignatti.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/33cb7ca85d43793f113cab97fc6c2cd1?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Tiago Vignatti &#187; gdb sucks</title>
		<link>http://vignatti.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://vignatti.wordpress.com/osd.xml" title="Tiago Vignatti" />
		<item>
		<title>Parallel events (panic) with X</title>
		<link>http://vignatti.wordpress.com/2008/08/18/parallel-events-panic-with-x/</link>
		<comments>http://vignatti.wordpress.com/2008/08/18/parallel-events-panic-with-x/#comments</comments>
		<pubDate>Mon, 18 Aug 2008 22:02:16 +0000</pubDate>
		<dc:creator>vignatti</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[SoC2008]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[gdb sucks]]></category>
		<category><![CDATA[input]]></category>
		<category><![CDATA[thread]]></category>
		<category><![CDATA[x11]]></category>
		<category><![CDATA[xorg]]></category>

		<guid isPermaLink="false">http://vignatti.wordpress.com/?p=49</guid>
		<description><![CDATA[Unfortunately that model which I described some weeks ago to put the input event delivery of the X server in a separate thread wouldn&#8217;t be an advantage. I precipitated myself thinking that it could be feasible. Sorry :(
I started to implement all this but it showed a very boring task to grab all the globals [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vignatti.wordpress.com&blog=769537&post=49&subd=vignatti&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Unfortunately that model which I <a href="http://vignatti.wordpress.com/2008/08/07/keep-it-going/">described some weeks ago</a> to put the input event delivery of the X server in a separate thread wouldn&#8217;t be an advantage. I precipitated myself thinking that it could be feasible. Sorry :(</p>
<p>I started to implement all this but it showed a very boring task to grab all the globals variables which both threads touch and to lock it. So I decided to stop going in this way. It&#8217;s hard to program thinking in parallel. It&#8217;s even harder to debug a program with severals flows. More, the tools don&#8217;t help you (if you have lucky, gdb will work).</p>
<p>But the main reason I can argue to stop with this model is that the &#8220;main&#8221; event flow of execution (i.e. basically all the functions in {Swapped,}ProcVector) and the input delivery flow (ProcessInputEvents()) are very very tied. Both deal a lot with clients and we&#8217;d need to lock several globals, thus spending a lot of time in the management of the threads. It&#8217;s easy to see this acting: just put a breakpoint in TryClientEvents(). Every single request to deliver a given event to a given client involves this function. And both input and main event flow will call TryClientEvents(). So you will see a zillion of times this function being called. The contention of the eventual processing and main threads would be even greater if the client choose to receive MotionNotify event.</p>
<p>So yeah, it&#8217;s far from be clear how to put processing of input events inside another thread.</p>
<p>== Next ==</p>
<p>In the next days I&#8217;ll be traveling to <a href="http://www.cesol.ufc.br/">CESol</a>, Fortaleza here in Brazil. I was invited to talk about my work in X land. Latin America has a lot of promising countries concerning FOSS development however for some reason no one actively participate and contribute for the X development (why?). I&#8217;ll try to motivate people there somehow :)</p>
<p>In the next week I&#8217;ll put the generation thread in a shape good enough to eventually push this to upstream. Also I&#8217;ll try to write a good sumary of all my work given that GSoC is in the end.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vignatti.wordpress.com/49/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vignatti.wordpress.com/49/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vignatti.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vignatti.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vignatti.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vignatti.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vignatti.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vignatti.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vignatti.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vignatti.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vignatti.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vignatti.wordpress.com/49/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vignatti.wordpress.com&blog=769537&post=49&subd=vignatti&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://vignatti.wordpress.com/2008/08/18/parallel-events-panic-with-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c80e0b79eb21bbd134add2362d74f4ce?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vignatti</media:title>
		</media:content>
	</item>
	</channel>
</rss>