Feature #865
Make the client runs on GNU/Linux
Status: | Closed | Start date: | 05/09/2010 | |
---|---|---|---|---|
Priority: | Urgent | Due date: | ||
Assignee: | vl | % Done: | 100% |
|
Category: | OS: GNU/Linux | |||
Target version: | Version 0.8.0 |
Description
Make the client runs on GNU/Linux
Currently, it compiles and dead lock after the character creation.
History
#1 Updated by ratmice over 8 years ago
- File deadlock.diff added
the attached patch seems to fix the deadlock i saw,
Its not documentationally correct e.g.
mutex.h:
/**
* Classic mutex implementation (not necessarly fair)
* Don't assume the mutex are recursive (ie don't call enter() several times
but the implementation uses:
mutex.cpp:
// Fast mutex. Note: on Windows all mutexes are recursive
pthread_mutexattr_settype( &attr, PTHREAD_MUTEX_RECURSIVE );
more info, the specific deadlock i'm seeing is because CTaskManager::run() locks _TaskQueue
and calls CTaskManager::changeTaskPriority() which locks _TaskQueue
I'm guessing that this is in case CTaskManager::changeTaskPriority() is called outside of run?
#2 Updated by vl over 8 years ago
- Status changed from New to Assigned
- Assignee set to vl
- % Done changed from 0 to 100
#3 Updated by vl over 8 years ago
- Status changed from Assigned to Resolved
#4 Updated by vl over 8 years ago
- Target version set to Version 0.8.0
#5 Updated by vl about 8 years ago
- Status changed from Resolved to Closed
#6 Updated by kervala about 8 years ago
- Category changed from Client: General to OS: GNU/Linux