
Jon A. Cruz wrote:
On Oct 11, 2005, at 3:36 AM, Nicolas George wrote:
In threaded programs, errno can not be just be a static global variable, since its value must be local to each thread. The standard solution is for errno to be a macro for '*(pointer_to_this_thread_s_errno())'.
Actually, it *can* be.
Note the difference from "should be"
Remember, that on MS Windows, the recommended thing is to use the win32 API and WSAGetLastError.
I do not know what it is on windows, but on GNU, there has been for some time a hack to ensure that on single-threaded programs, pointer_to_this_thread_s_errno was indeed the address of a global integer symbol. This hack has been dropped some time ago.
Good to look into
And remember that the intent is that Inkscape be a single-threaded program.
This SF.Net email is sponsored by: Power Architecture Resource Center: Free content, downloads, discussions, and more. http://solutions.newsforge.com/ibmarch.tmpl _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
I have had problems with portability of errno, so I usually avoid it. However, I think what you need for the compile is instead of: int errno; use extern int errno;
Bob