I've been getting a mysterious crash and think I may have tracked
it down to the use of a system() call. Unfortunatly I can't be sure
as it messes up memory completely so the machine isn't in a
stable state after the crash.
It seems that if my Wimp task claims more memory after
starting up and then calls:
system("Filer_OpenDir a_directory");
some sort of corruption occurs as after I close my next
two windows a crash occurs.
This is happening on my Iyonix RISC OS 5.16 128MB consistantly.
Increasing the Wimp slot seems to fix the problem.
However I can't reproduce it on RISC OS 4.0.2 or RISC OS 5.19
running on RPCEmu.
I haven't even managed to create a smaller test program to
reproduce the problem, so it may be something else.
I was hoping someone who is familiar with the system() call
code could have a look at its code to see if there is some
edge case I may be hitting.
Thanks,
Alan
P.S. As an aside I'm wondering about using Wimp_StartTask
instead of a system call and was wondering if anyone knew
if that is sensible or not.
it down to the use of a system() call. Unfortunatly I can't be sure
as it messes up memory completely so the machine isn't in a
stable state after the crash.
It seems that if my Wimp task claims more memory after
starting up and then calls:
system("Filer_OpenDir a_directory");
some sort of corruption occurs as after I close my next
two windows a crash occurs.
This is happening on my Iyonix RISC OS 5.16 128MB consistantly.
Increasing the Wimp slot seems to fix the problem.
However I can't reproduce it on RISC OS 4.0.2 or RISC OS 5.19
running on RPCEmu.
I haven't even managed to create a smaller test program to
reproduce the problem, so it may be something else.
I was hoping someone who is familiar with the system() call
code could have a look at its code to see if there is some
edge case I may be hitting.
Thanks,
Alan
P.S. As an aside I'm wondering about using Wimp_StartTask
instead of a system call and was wondering if anyone knew
if that is sensible or not.
No comments:
Post a Comment