Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
52 user(s) are online (33 user(s) are browsing Forums)

Members: 1
Guests: 51

Amiguy, 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/5 14:38:36

@Capehill
Making standalone example a bit harder than i expect, so firstly going your way, doing just that:

try {
        
m_thread_obj = new std::thread(threadProcthis);
        
printf("log 1n");        
    } catch (const 
std::system_error &e) {
        
printf("log 2n");
        return 
false;
    }


And I have in return when this newlib. library error comes up only "log 1" printf, never see "log 2" one. I.e.

Quote:

=============Testing module TestThreading
log 1
terminate called after throwing an instance of 'std::system_error'
what(): Device or resource busy


+ error from newlib.library saying that "exit() of process 341 called from wrong process 343, using IExec->RemTask(NULL). PRocess: "New PRocess".

Quote:

Device or Resource busy: would this refer to errno EBUSY somewhere?


Dunno, but i just search on that word, and that what find in their semaphore.cpp:

Semaphore::~Semaphore()
{
#ifdef _WIN32
    
CloseHandle(semaphore);
#else
    
int ret sem_destroy(&semaphore);
#ifdef __ANDROID__
    // Workaround for broken bionic semaphore implementation!
    
assert(!ret || errno == EBUSY);
#else
    
assert(!ret);
#endif
    
UNUSED(ret);
#endif
}


Maybe something about our sem_destroy() which just "return 0;" ?

Powered by XOOPS 2.0 © 2001-2016 The XOOPS Project