[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lwip-users] Multiple servers under LwIP
From: |
Noam weissman |
Subject: |
Re: [lwip-users] Multiple servers under LwIP |
Date: |
Sat, 7 Feb 2015 23:26:58 +0200 |
Hi,
In application I have written we run multiple servers without any problems.
On a home automation controller I run:
HTTP server
TCP (telnet) server
UDP (terminal)server
6 UDP or TCP bridges (UART <-> TCP)
All running together.
Your are doing something wrong. It should work.
BR,
Noam.
-----Original Message-----
From: address@hidden on behalf of Robert Deschambault
Sent: Sat 2/7/2015 6:30 PM
To: Mailing list for lwIP users
Subject: Re: [lwip-users] Multiple servers under LwIP
I am very sure you are right! I will review my code to make sure I am
compliant with the lwIP threading model as you describe. I will let you know
how it goes.
Thanks!
Bob
On Sat, Feb 7, 2015 at 11:26 AM, Sylvain Rochet <address@hidden> wrote:
Hello Robert,
On Sat, Feb 07, 2015 at 10:18:29AM -0500, Robert Deschambault wrote:
> Hi,
>
> I am using the latest sources from the master branch and I am running
on a
> STM32F429 under CMSIS-RTOS/RTX. I am putting together a framework
for our
> application that includes multiple servers each running in its own
thread.
>
> I have written and tested the code for each server individually and
they
> work fine. They are essentially a UDP server and a TCP server that
> responds to messages from the client to request small packets of
> information. They are running on different ports. However, when I
try to
> run both servers in my framework my TCP server seems to stop
responding to
> requests after I have done a UDP request. I am fairly new to LwIP,
can
> anyone guide me as to what might be happening and why I can run each
server
> ok but they can't seem to run together at the same time?
As usual, it looks like a broken port or usage which do not follow lwIP
threading model.
Summary:
- Do *NOT* call anything in interrupt context, nothing, never, never,
use your OS semaphore signaling to an Ethernet/serial/. RX thread
- memp_* functions are thread-safe if SYS_LIGHTWEIGHT_PROT is
set, and again, thread safe does not mean it is interrupt safe,
especially
if your hardware does nested interrupts
- Do *NOT* call any function from the RAW API outside lwIP thread
- Use Netconn or Socket API in others threads, but keep in mind you
should not share a Netconn/Socket control block between threads, (or use
proper locking if you really have to, of course).
I should really add a hook in my MUA to answer that :-)
Sylvain
_______________________________________________
lwip-users mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/lwip-users
--
Bob Deschambault
6614 Astro Court, Mississauga
Ontario, Canada L5N 7J2
home: 905 824 7159
cell: 416 457 7163
twitter: @rdeschambault
1Fm3QkinyqiMbpnvSZMLM1AyjBvbuYeTBE
************************************************************************************
This footnote confirms that this email message has been scanned by
PineApp Mail-SeCure for the presence of malicious code, vandals & computer
viruses.
************************************************************************************
************************************************************************************
This footnote confirms that this email message has been scanned by
PineApp Mail-SeCure for the presence of malicious code, vandals & computer
viruses.
************************************************************************************
<<winmail.dat>>