On 01/30/2013 02:11 PM, Rhialto wrote:
> So, in principle, if you remove "static" from something in a header > file, you get a bunch of tentative definitions (one in each of the > source files you're including it in) and the linker will collapse them > to 1, and should not complain. As long as you don't add "= something" to > it. Thanks, I think I finally understand the reasoning behind the static thing and why it causes the link to fail. Now I'm trying to figure out why the mutex is needed in the first place. This bug report is an interesting discussion between Charles and Calin, who actually added the thread support to pan: https://bugzilla.gnome.org/show_bug.cgi?id=420618 IIUC (maybe not) the only reason for the mutex is so that the progress bar in the main gui can update while big attachments are decoded (very slowly) in the worker thread. That code is from 2007 when hardware was painfully slow and svn was the latest fad in version control -- and both problems are much less ugly these days :) I suspect that modern fast hardware has made the mutex redundant and it could be removed now without upsetting anyone. Just a guess, of course, because locking is hard to understand -- even Charles and Calin got it wrong a few times, so my chances are just about zero. _______________________________________________ Pan-users mailing list Pan-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/pan-users