LINUX.ORG.RU

mysqltcl threads - странное

 


0

1
#! /usr/bin/env tclsh
package require Thread


::thread::create {
	puts up
	package require mysqltcl
	puts down
	set dbhost "localhost"
	set dbuser "root"
	set dbname "test1"
	set dbpwd "1"

	set db_handle [::mysql::connect -host $dbhost -user $dbuser -db $dbname -password $dbpwd]
	set sql "INSERT INTO sbtest (k,c,pad) VALUES('1','a','b');"
	::mysql::exec $db_handle $sql
	puts [::mysql::insertid $db_handle]
	::mysql::endquery $db_handle
	::mysql::close $db_handle 
}

Что-то странное, up выводится, а все , что ниже package require mysqltcl не отрабатывает без каких либо ошибок. Что это?

А пакет такой есть?

Приложение зависает или просто завершается?

В любом случае введи эту команду интерактивно и посмотри для начала.

Xenius ★★★★★
()
Последнее исправление: Xenius (всего исправлений: 1)
Ответ на: комментарий от Xenius

Присоединяюсь, Tcl любит «молчать» об ошибках

buddhist ★★★★★
()

Попробуй продублировать package require mysqltcl в основной нитке, и обрамить заодно в catch. Может библиотека не настолько threadsafe насколько хочется

MKuznetsov ★★★★★
()
Ответ на: комментарий от Xenius
 ~$ ./test.tcl ; echo $?
up
0

Да, пакет на месте. Все началось, как начал использовать threads.

macumazan ★★
() автор топика

Хм.. если очень часто начать запускать фал, то временами выпадает или called Tcl_CreateHashEntry on deleted table или Aborted (core dumped) или Segmentation fault (core dumped). Пошел в гугл.

macumazan ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.