1
0
Fork 0
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:
kwolekr 2013-02-13 22:43:15 -05:00
parent 6d0ea26c2d
commit b9d8e59bbf
12 changed files with 886 additions and 560 deletions

View file

@ -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