[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ssh_threads_set_callbacks in multithreaded server
[Thread Prev] | [Thread Next]
- Subject: Re: ssh_threads_set_callbacks in multithreaded server
- From: Andreas Schneider <asn@xxxxxxxxxxxxxx>
- Reply-to: libssh@xxxxxxxxxx
- Date: Fri, 10 Jul 2015 09:20:41 +0200
- To: libssh@xxxxxxxxxx
On Thursday 09 July 2015 18:48:58 Игорь Коваленко wrote:
> Hello!
>
> I try to create a multithreaded ssh server.
> Main thread creates new session and accepts a connection. After acception
> each session will be processed in separate thread.
> ...
> while (1)
> {
> ssh_session session = ssh_new();
> if (session == NULL)
> {
> fprintf(stderr, "Failed to allocate session\n");
> continue;
> }
>
> /* Blocks until there is a new incoming connection. */
> if (ssh_bind_accept(m_sshbind, session) != SSH_ERROR)
> {
> // start a new thread with session
> // ...
> }
> }
> In a session's thread new event is created and event loop is started.
> Session is used only in its own thread (I hope so).
> I'm using my own thread classes.
> Do I need to call ssh_threads_set_callbacks with my own implementation of
> callbacks? If so what should do thread_id function?
All details are explained here ...
http://api.libssh.org/master/libssh_tutor_threads.html
* If pthreads is being used by your application (or your framework's backend),
you must link with libssh_threads dynamic library and initialize threading
with the ssh_threads_pthreads threading object.
* If an other threading library is being used by your application, you must
implement all the methods of the ssh_threads_callbacks_struct structure and
initialize libssh with it.
--
Andreas Schneider GPG-ID: CC014E3D
www.cryptomilk.org asn@xxxxxxxxxxxxxx
| Re: ssh_threads_set_callbacks in multithreaded server | Aris Adamantiadis <aris@xxxxxxxxxxxx> |
| ssh_threads_set_callbacks in multithreaded server | Игорь Коваленко <igor.a.kovalenko@xxxxxxxxx> |