[Comm] [p6] тестирование новых freerdp и remmina

vx8400 vx8400 на gmail.com
Вс Фев 26 21:53:11 MSK 2012


26 февраля 2012 г. 16:58  Sergey Vlasov:
> On Sun, Feb 26, 2012 at 02:21:59PM +0100, vx8400 wrote:
>>
>> boolean tls_disconnect(rdpTls* tls)
>> {
>> uint8 _buf_[8];
>>  if (tls_read(tls,_buf_,0) < 0)
>
> Всё равно там race - пакет с другой стороны может дойти уже после
> завершения tls_read(), и получится тот же SIGPIPE.

Конечно. Это заглушка для личного пользования.

xfreerdp может ловить SIGPIPE. В самом начале есть
вызов freerdp_handle_signals(), но fatal_handler(SIGPIPE) все равно
прерывает программу:

default_sigaction.sa_handler = SIG_DFL;
...
sigaction(SIGPIPE,&default_sigaction,NULL);
...
raise(SIGPIPE);

Для xfreerdp это некритично, так как ему все равно надо завершаться.
В remmina перехват сигналов не вижу вообще.

Еще один вопрос по remmina:
запускаем и сразу же нажимаем в меню соединение -> закрыть.
Окно исчезает, процесс висит. Завершается, если послать SIGTERM.
Это баг или фича?

% gdb --pid=`/sbin/pidof remmina`
...
(gdb) bt
#0  0x00b7aafc in __poll (fds=0x8fd7030, nfds=3, timeout=-1) at
../sysdeps/unix/sysv/linux/poll.c:87
#1  0x002736fb in g_poll (fds=0x8fd7030, nfds=3, timeout=-1) at gpoll.c:132
#2  0x00262b97 in g_main_context_poll (context=0x8ea1790, block=1,
dispatch=1, self=<value optimized out>) at gmain.c:3405
#3  g_main_context_iterate (context=0x8ea1790, block=1, dispatch=1,
self=<value optimized out>) at gmain.c:3087
#4  0x0026336b in g_main_loop_run (loop=0x8ea2c68) at gmain.c:3300
#5  0x0054dd2c in gtk_main () from /usr/lib/libgtk-3.so.0
#6  0x08058fab in main (argc=1, argv=0xbfd3bfd4) at
/afs/cern.ch/user/o/olezenin/RPM/BUILD/remmina-1.0.0/remmina/src/remmina.c:220

wbr,
Oleg.


Подробная информация о списке рассылки community