At 02.02 17/12/2002 -0500, Dimitrie O. Paun wrote:
On December 16, 2002 02:37 pm, Alberto Massari wrote:
+void WINAPI SwitchToFiber(LPVOID lpFiber) +{ +#ifdef HAVE_UCONTEXT_H
- PHFIBER pFiber,pCurrentFiber;
- pFiber=(PHFIBER)lpFiber;
- pCurrentFiber=(PHFIBER)TlsGetValue(fiber_tls_index);
- TRACE("Switching from %p to %p\n",pFiber,pCurrentFiber);
- TlsSetValue(fiber_tls_index,pFiber);
- swapcontext(&pCurrentFiber->context,&pFiber->context);
+#else
- FIXME("stub\n");
+#endif +}
Can you (pretty) please do without the ifdefs? They can probably be located in only one spot, if you need to test for HAVE_UCONTEXT_H.
I added them when I realized that ucontext.h could not be present on some systems, as "configure" tests for its presence and adds that preprocessor directive. The alternative layout would be
#ifdef HAVE_UCONTEXT_H
#include <ucontext.h>
LPVOID WINAPI ConvertThreadToFiber(... { .... }
LPVOID WINAPI CreateFiber(... { .... } ....
#else
LPVOID WINAPI ConvertThreadToFiber(... { FIXME("stub\n"); }
LPVOID WINAPI CreateFiber(... { FIXME("stub\n"); } ...
#endif
It's just a matter of deciding what is best from a maintenance point of view: grouping the working code or grouping the functions. There are valid arguments in favour of both styles, and I have no strong feelings, so I will submit the new patch shortly. In any case... what is the policy in this case? a) there is an HOWTO on the subject, that I didn't read :-( b) there is no previous agreement on this, and Alexandre decides c) there is no previous agreement on this, and a poll is submitted to the mailing list d) other options
Alberto
------------------------------- Alberto Massari eXcelon Corp. http://www.StylusStudio.com