[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-users] lwIP PPP for single threaded context
From: |
Wagner Hans-Jörg |
Subject: |
[lwip-users] lwIP PPP for single threaded context |
Date: |
Wed, 28 Feb 2007 20:54:42 +0100 |
Hi everybody
I know I am number 748 posting this question but looking at postings having the similar question as me, I didn't find any programming examples.
I plan to take the lwIP with PPP to a single threaded context, because our braindead Operating System OSE has such specific mailbox handling and process creation, that I seems to me it would be the best to use the tcp callback api.
However the pppOpen requires creating a thread. In my opinion even this could be managed in a workaround (has somebody an idea how to do it and how the while loop in the pppMain could be broken up?).
The key question is: What should I do with the callback functions in ppp.c if there is no tcpip thread pending on a mailbox? Why is there the comment in ppp.c:
/* these callbacks are necessary because lcp_* functions
must be called in the same context as pppInput(),
namely the tcpip_thread(), essentially because
they manipulate timeouts which are thread-private
*/
static void
pppStartCB(void *arg)
{
static void
pppStopCB(void *arg)
{
Could there something go wrong if I just call the client callback functions directly instead of being synchronized with the tcpip thread through a mailbox (I wont have a tcpip thread in my context)? In a single threaded context I am in the same thread context as the tcpip thread afaik.
Thus something in the ppp.c like:
static void pppInProc(int pd, u_char *s, int l)
{
//some stuff
//instead of registering pppInput as a callback
//and sending a message to the tcpip thread
//(that doesnt exist in my context) .....
/* Dispatch the packet thereby consuming it. */
if(tcpip_callback(pppInput, pc->inHead) != ERR_OK) {
//.... can I just call the callback function directly?
//like
pppInput(pc->inHead);
TIA
George
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lwip-users] lwIP PPP for single threaded context,
Wagner Hans-Jörg <=