[Vortex] Async Queue Problem

Robert M. Münch robert.muench at robertmuench.de
Sun Nov 9 16:02:22 CET 2008


Hi, I'm using the following sequence to trigger a transfer and waiting
until a transfer was finished.

This works if I transfer a file the first
time. If I transfer the same file on the same connection a second time the
receiver (server) exits without any error message.

The "odprintf" calls
are my debugging log-function that write to the Win32 debug API.

I attached the log starting with the first file transfer. If you search for
"xp_request_file" you will see that on the second round the last output is
"xp_request_file: sync queue pointer = %p ...".

So the problem seems to be the call to: vortex_async_queue_pop(queue) on
the second round.

I create one queue for each channel at setup time and want to re-use this  
channel specific queue on each transfer over this channel. I'm not sure if  
this is the correct way to do it.

if(!vortexeue unrefed");
_channel_send_msg(used_ft_channel, source_file_key,
strlen(source_file_key), NULL)){
	... ERROR ...
}

// wait until the file is transfered
//	Get the queue pointer
//	Pop the first data available in the queue, locking the calling if no
data is available.
//	The frame-recieved handler writes to the queue

VortexAsyncQueue *queue = vortex_channel_get_data(used_ft_channel,"queue");
odprintf("xp_request_file: sync queue pointer = %p", queue);

vortex_async_queue_pop(queue);
odprintf("xp_request_file: sync queue poped");

vortex_async_queue_unref(queue);
odprintf("xp_request_file: sync queue unrefed");


So has anyone an idea where the problem might come from? Thanks.

-- 
Robert M. Münch
Management and IT freelancer
http://www.robertmuench.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: double-file-transfer.log
Type: application/octet-stream
Size: 38448 bytes
Desc: not available
Url : http://lists.aspl.es/pipermail/vortex/attachments/20081109/68ff52ff/attachment-0001.obj 


More information about the Vortex mailing list