[QUOTE="In"]\nYour analysis is correct. You cannot even declare errno, because it can\nbe (and quite often is) defined as a macro in <errno.h>. The common\nreason for this is allowing multithreaded applications to have a per\nthread errno, rather than sharing a global errno. This is one of the\nfew places where the C standard cares about multithreading.\n[/QUOTE]\n\n [Today I happened to see that this mail was hiding in the "Drafts" folder\nfor more than a month!]\n\n I am at loss as how defining `errno' as a macro can be helpful in\nmultithreading applications. Please enlighten me.