Age | Commit message (Collapse) | Author |
|
If MEMDEBUG is defined, then we need to include "memdebug.h" to define
'md_free'.
Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
|
|
|
|
size calculation)
|
|
|
|
after commit 287adbfc205c02eac375f55fb94f13c073faec97 gcc
still may reorder alloca() and memset() calls.
fix that with volatile access & memory barrier.
|
|
since alloca() result is used indirectly, gcc 4.7.2 thinks
the whole call can be dropped on any optimization level.
|
|
|
|
Introduced 4 priorities:
0 - management (cli)
1 - starting sessions (default priority)
2 - active sessions
3 - finishing sessions
|
|
Instead of entering working thread into sleep triton saves machine context and stack on sleep and restores context/stack on wakeup.
This saves costly new thread allocation.
|
|
Add list_replace() and list_replace_init(), as defined in Linux kernel
sources.
Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
|
|
|
|
The pending_calls field of struct _triton_context_t can be concurrently
used by other contexts. So it must only be accessed or modified under
protection of the context's lock (like in triton_context_call() or
ctx_thread()).
Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This patch gets rid of synchronuos style of authentication/accounting.
Synchronous style of authentication/accounting produced sleeping threads
which becomes a problem when lots of sessions started/stopped and all they want authorization/accounting.
|
|
When there are many interfaces to start accel-ppp stucks on startup because kernel slowly creates raw sockets.
So starting this proccess asynchronous improves accel-ppp responsiveness
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Add list_first_entry() to list.h
* Declare parameter of list_empty() as const
Both changes are already included in Linux kernel sources.
Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
|
|
Signed-off-by: Dmitry Kozlov <xeb@mail.ru>
|
|
already called triton_context_unregister)
|
|
The triton_terminate() function works by setting the need_close flag
of each triton context, then queues this context for execution by a
triton thread if not already running. But if the context is already
being run by a triton thread, it may not notice that its need_close
flag has been updated (this flag is only checked at the beginning
of ctx_thread()). So if no other event wakes up that context (i.e.
if ctx_thread() isn't run again), it will never terminate.
This patch moves the need_close flag check at the end of ctx_thread()
so that a triton context can take the need_close flag into account
event if it's updated while running.
The context spinlock is also used to protect the need_close flag as
it is concurrently updated by triton_terminate().
Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
|
|
|
|
This reverts commit 49b348dd38dcf89a057abebc0ffdf73748effa0a.
|
|
|
|
Use the number of available processors to set the thread-count
option if not given in configuration file.
Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
|
|
|
|
* l2tp: Fix allocation checking when adding octets AVP
* cli, tcp: Fix non-NULL terminated string reception
* Fix va_end() missing calls
* chap-secrets: implemented encryption
* auth_pap: make messages like other auth modules
* cli: check xmit_buf is not null at enter to write function
* pppoe: implemented regular expression support
* chap-secrets: implemented encryption
* ippool: fixed initialization order
* optional shaper compiling
* ppp: dns/wins code cleanup
|
|
|
|
Append the format() __attribute__ to function prototypes which
use a format string. This allows GCC to check for consistency
between the format string and its arguments when these
functions are called.
Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This reverts commit ee41cba691ab9f6461f4933461cf82be161333de.
|
|
|
|
|
|
|
|
|