[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: Игорь Коваленко <igor.a.kovalenko@xxxxxxxxx>
- Reply-to: libssh@xxxxxxxxxx
- Date: Fri, 10 Jul 2015 11:00:19 +0300
- To: libssh@xxxxxxxxxx
I don't understand what should do thread_id callback? 2015-07-10 10:32 GMT+03:00 Aris Adamantiadis <aris@xxxxxxxxxxxx>: > Le 10/07/15 09:20, Andreas Schneider a écrit : > > 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. > > > Also libssh itself is threadsafe (even without the threading callbacks), > but it depends on libcrypto which is not. Symptoms vary from random > crashes during the initialization to insecure sharing of PRNG material. > >
Re: ssh_threads_set_callbacks in multithreaded server | Andreas Schneider <asn@xxxxxxxxxxxxxx> |
ssh_threads_set_callbacks in multithreaded server | Игорь Коваленко <igor.a.kovalenko@xxxxxxxxx> |
Re: ssh_threads_set_callbacks in multithreaded server | Andreas Schneider <asn@xxxxxxxxxxxxxx> |
Re: ssh_threads_set_callbacks in multithreaded server | Aris Adamantiadis <aris@xxxxxxxxxxxx> |