Hi Jake, Quoting Jake Goerzen <jgoer...@opencsw.org> from ml.softs.gtk-gnutella.devel: :./lib/mutex.h:108:16: error: redefinition of 'struct mutex' : typedef struct mutex {
OK, renamed it as "struct lmutex" in the library, to avoid this conflict. :Looks like mutex.h header in gtk-gnutella source is redefining what is :in Solaris system headers /usr/include/sys/mutex.h. I suppose there is :no mutex.h in Linux?, so no check is done to look for it as a system header? No, gtk-gnutella uses its own mutexes, which are built on top of our own spinlocks. This allows lots of possibilities for the code: - Ability to detect deadlocks and dump lock stacks. - Ability to define safe inter-thread signals. - Ability to trace where a mutex / spinlock was grabbed. - Ability to ensure that a memory location is indeed a valid mutex / spinlock. That's why the library includes this "mutex layer" and I named the structure "mutex" because it worked on all the systems to which I had access to, namely Linux, FreeBSD and Windows... And I also check on OS/X, albeit not directly because I do not own any OS/X machine. Thanks for running the "portability test" on Solaris! Because gtk-gnutella defines its own thread layer on top of POSIX threads, (and that includes low-level objects such as condition variables, and other high-level constructs such as safe inter-thread signals) you may discover some problems when running gtk-gnutella even if the code compiles fine. Should that happens, I will ask you to use the "thread-test" program (held in src/lib) to help me diagnose what could be failing. Cheers, Raphael ------------------------------------------------------------------------------ Put Bad Developers to Shame Dominate Development with Jenkins Continuous Integration Continuously Automate Build, Test & Deployment Start a new project now. Try Jenkins in the cloud. http://p.sf.net/sfu/13600_Cloudbees _______________________________________________ gtk-gnutella-devel mailing list gtk-gnutella-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gtk-gnutella-devel