Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
74 user(s) are online (63 user(s) are browsing Forums)

Members: 0
Guests: 74

more...

Support us!

Headlines

Report message:*
 

Re: MineCraft (MineTest) work in progress help need it

Subject: Re: MineCraft (MineTest) work in progress help need it
by kas1e on 2021/1/9 17:31:30

@salas00,capehill

Seems we not fully done with that damn threading stuff: i find out in previous sources there was a testThreadKill() which they remove from tests after for some reasson , but which one i have in my sources:

https://github.com/minetest/minetest/b ... t/test_threading.cpp#L114

So, when I activate this one it also halts forever in the "Waiting for thread" loop. And line after which i never had any prinf is : UASSERT(thread->kill() == true);

On serial at this time i have:

Quote:

Before ObtainSemaphore in __gthread_create
after findtask + strcutprocess_userData , but before Wait for the parent taskAfter ObtainSemaphore in __gthread_create
after while with (SIGBREAKF_CTRL_F) & SIGBREAKF_CTRL_F)
Waiting for thread
Waiting for thread
Waiting for thread
Waiting for thread
Waiting for thread
Waiting for thread
Waiting for thread
Waiting for thread
Waiting for thread
Waiting for thread
Waiting for thread
Waiting for thread
Waiting for thread
Waiting for thread


And "kill" in the thread.cpp looks like this :

https://github.com/minetest/minetest/b ... threading/thread.cpp#L139

Maybe it just "kill" function need to be fixed for os4 as well? They probably remove it lately from the test units because tested it well, but while the "kill" functionality of the threading still in their sources even today, and that didn't work for us, it can cause some problems with the game for sure.

On our side is pthread_cancel(getThreadHandle()); called, but i also tried pure "wait()" - same result. UASSERT(thread->kill() == true); never passes. And we come to that never endina "Waiting for thread" loop.

Maybe just getThreadHandle() fail ?


I also find out native_handle() example:

https://en.cppreference.com/w/cpp/thread/thread/native_handle

When compiling that one on Cygwin/window, got in output that:

Quote:

$ ./test
Thread 1 is executing at priority 20
Thread 2 is executing at priority 16


When compiling it for amigaos4, have that:

Quote:

$ ./test
Failed to setschedparam:
Thread 1 is executing at priority 0
Thread 2 is executing at priority 0


Maybe the reason why "kill" fail?

Powered by XOOPS 2.0 © 2001-2016 The XOOPS Project