Feature #865

Make the client runs on GNU/Linux

Added by vl over 8 years ago. Updated about 8 years ago.

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.

deadlock.diff (5.6 kB) Magnifier ratmice, 05/10/2010 01:14 am

History

#1 Updated by ratmice over 8 years ago

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

Also available in: Atom PDF