Hi Riccardo,

> Wolfgang Lux wrote:
>> Did you check the value of executor? Is it a valid object at all or does the 
>> thread perhaps crash inside the NSLog?
> I can't trap an exception and I hoped to print out something useful. How 
> would you know if it is valid?
> 
> I can't "p executor" inside gdb.
> 
> 
> (gdb) p executor
> No symbol "executor" in current context.
> 
> I tried this:
> 
> (gdb) p self->executor
> $1 = 0x283429a0
> (gdb) po self->executor
> FileOpInfo
> 
> which doesn't make sense, it should be a FileOpExecutor or am I 
> misinterpreting something?

I finally got around to upgrade my GNUstep tree and was able to reproduce your 
problem.
Looking at the code, then, the problem is fairly obvious: When you click the 
pause button for the first time, the paused flag is set to YES and once the 
FileExecutorObject notices that the flag is set it exits the loop in 
do{Move,Copy,Link,Remove,Duplicate,Trash}. This also means that the secondary 
thread that was started to perform the operation in the FileOpExecutor 
+setPorts: will terminate and the executor object will be released and probably 
the connection to that object is closed as well. So it looks like the executor 
attribute in the FileOpInfo class is no longer connected to a valid object that 
could resume the file operation when you click the pause button again.

Wolfgang


_______________________________________________
Gnustep-dev mailing list
Gnustep-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/gnustep-dev

Reply via email to