[room] Убить поток С/С++

Rinat Bikov bikoz.r на gmail.com
Ср Ноя 4 21:31:24 UTC 2009


В общем, вот вывод при нормальной работе потоков:
$ ./rezult
Constructor started
Thread started
Thread finished
./libf2.so: f2 string
Thread started
Thread finished
./libf3.so: f3 string
Destructor started
Здесь вызывается одна и та же функция из двух библиотек, после чего
выводится изменённая в них строка.

А вот вывод, когда вторая библиотека зависает:
$ ./rezult
Constructor started
Thread started
Thread finished
./libf2.so: f2 string
Thread started
Bad function, try to cancel
Try to join
Function not joined!
I'm died...
zsh: killed     ./rezult

А вот вывод, когда во второй библиотеке просто выполняется sleep(300)
и поток с вызовом её функции отменяется:
$ ./rezult
Constructor started
Thread started
Thread finished
./libf2.so: f2 string
Thread started
Bad function, try to cancel
Try to join
thread was canceled
./libf3.so: f2 string
Destructor started

:-)

-- 
С уважением, Ринат Биков.


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