mirror of
https://github.com/luanti-org/luanti.git
synced 2025-08-06 17:41:04 +00:00
Add emerge.cpp, initial EmergeThread changes
- Neatly placed all emerge related code into a new file, emerge.cpp - Greatly cleaned up the code in EmergeThread::Thread() - Reworked Emerge queue. Now an actual std::queue of v3s16 block positions - Removed the completely unnecessary map of peer ids requesting blocks
This commit is contained in:
parent
6d0ea26c2d
commit
b9d8e59bbf
12 changed files with 886 additions and 560 deletions
|
@ -67,4 +67,54 @@ private:
|
|||
bool initialized;
|
||||
};
|
||||
|
||||
#ifdef _WIN32
|
||||
|
||||
class Event {
|
||||
HANDLE hEvent;
|
||||
|
||||
public:
|
||||
Event() {
|
||||
hEvent = CreateEvent(NULL, 0, 0, NULL);
|
||||
}
|
||||
|
||||
~Event() {
|
||||
CloseHandle(hEvent);
|
||||
}
|
||||
|
||||
void wait() {
|
||||
WaitForSingleObject(hEvent, INFINITE);
|
||||
}
|
||||
|
||||
void signal() {
|
||||
SetEvent(hEvent);
|
||||
}
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
#include <semaphore.h>
|
||||
|
||||
class Event {
|
||||
sem_t sem;
|
||||
|
||||
public:
|
||||
Event() {
|
||||
sem_init(&sem, 0, 0);
|
||||
}
|
||||
|
||||
~Event() {
|
||||
sem_destroy(&sem);
|
||||
}
|
||||
|
||||
void wait() {
|
||||
sem_wait(&sem);
|
||||
}
|
||||
|
||||
void signal() {
|
||||
sem_post(&sem);
|
||||
}
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif // JMUTEX_H
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue