Dining Philosophers Example -- Uses native OS/2 threads and semaphores. Author: Jarda Kacer, jkacer@kiv.zcu.cz, Czech OS/2 User Group Using 1000 ms as maximum thinking time and 9000 ms as maximum eating time. Creating semaphores... OK T ... Thinking W ... Waiting for a fork E ... Eating R ... Releasing a fork D ... Dead (without any fork) | X | ... The philosopher has no fork. /X | ... The philosopher has his right fork. | X\ ... The philosopher has his left fork. /X\ ... The philosopher has both forks. T | D | D | D | D | T | T | D | D | D | T | T | T | D | D | T | T | T | T | D | T | T | T | T | T | W | T | T | T | T | W\ T | T | T | T | /W\ T | T | T | T /E\ T | T | T | T /E\ T | W | T | T /E\ T | W\ T | T /E\ T /W\ T | T /E\ T /E\ T | T /E\ T /E\ T | W /E\ W /E\ T | W /E\ W /E\ W | W /E\ W /R\ W | W /E\ W | R\ W | W /E\ W | R | W | W /E\ W | T | W | W /E\ W | T /W | W /E\ W | T /W\ W /E\ W | T /E\ W /R\ W | T /E\ W R\ W | T /E\ W | R | W | T /E\ W | T | W | T /E\ W | T | W | T /E\ W\ T /W | T /E\ W\ T /W\ T /E\ W\ T /E\ T /E\ W\ T /E\ T /R\ W\ T /E\ T /R | W\ T /E\ T | R | W\ T /E\ T | T | W\ T /E\ T | T /W\ T /E\ T | T /E\ W /E\ T | T /E\ W /E\ W | T /E\ W /E\ W\ T /E\ W /E\ W\ W /E\ W /R\ W\ W /E\ W /R | W\ W /E\ W | R | W\ W /E\ W | T | W\ W /E\ W | T /W\ W /E\ W | T /E\ W /E\ W\ T /E\ W /E\ W\ W /E\ W /E\ W\ W /E\ W /R\ W\ W /E\ W | R\ W\ W /E\ W | R | W\ W /E\ W | T | /W\ W /E\ W | T /E\ W /E\ W | T /E\ W /E\ W | W /R\ W /E\ W | W R\ W /E\ W | W | R | W /E\ W | W | T | W /E\ W | W | T | W /E\ W | W\ T | W /E\ W /W\ T | W /E\ W /E\ T /W /E\ W /E\ T /W /R\ W /E\ T /W | R\ W /E\ T /W | R | W /E\ T /W | T | W /E\ T /W\ T | W /E\ T /E\ T | W /E\ T /E\ T /W /E\ T /E\ W /W /E\ W /E\ W /W /E\ W /R\ W /W /E\ W /R | W /W /E\ W | R | W /W /E\ W | T | W /W /E\ W\ T | W /W /E\ W\ W | W /W /E\ W\ W | W /W /R\ W\ W | W /W | R\ W\ W | W /W | R | W\ W | W /W | T | W\ W | W /W\ T | W\ W | W /E\ T | /W\ W | W /E\ T /E\ W | W /E\ T /E\ W | W /E\ W /E\ W | W /R\ W /E\ W | W /R | W /E\ W | W | R | W /E\ W | W | T | W /E\ W | W\ T | W /E\ W /W\ T | W /E\ W /E\ T | W /E\ W /E\ W | W /E\ W /R\ W | W /E\ W | R\ W | W /E\ W | R | W | W /E\ W | T | W | W /E\ W | T /W | W /E\ W | T /W\ W /E\ W | T /E\ W /E\ W | W /E\ W /R\ W | W /E\ W R\ W | W /E\ W | R | W | W /E\ W | T | W | W /E\ W | T | W | W /E\ W\ T /W | W /E\ W\ T /W\ W /E\ W\ T /E\ W /E\ W\ W /E\ W /E\ W\ W /E\ W /R\ W\ W /E\ W /R | W\ W /E\ W | R | W\ W /E\ W | T | W\ W /E\ W | T /W\ W /E\ W | T /E\ W /E\ W\ T /E\ W /E\ W\ W /E\ W /E\ W\ W /R\ W /E\ W\ W | R\ W /E\ W\ W | R | W /E\ W\ W | T | W /R\ W\ W | T | W /R | W\ W | T | W | R | W\ W | T | W | T | W\ W | T | W | T /W\ W | T | W | T /E\ W | T | W\ T /E\ W | T | /W\ T /E\ W | T /E\ T /E\ W | T /E\ T /E\ W | W /E\ W /E\ W | W /E\ W /R\ W | W /E\ W | R\ W | W /E\ W | R | W | W /E\ W | T | W | W /E\ W | T /W | W /E\ W | T /W\ W /E\ W | T /E\ W /E\ W | W /E\ W /R\ W | W /E\ W R\ W | W /E\ W | R | W | W /E\ W | T | W | W /E\ W | T | W | W /E\ W\ T /W | W /E\ W\ T /W\ W /E\ W\ T /E\ W /E\ W\ W /E\ W /E\ W\ W /E\ W /R\ W\ W /E\ W /R | W\ W /E\ W | R | W\ W /E\ W | T | W\ W /E\ W | T /W\ W /E\ W | T /E\ W /E\ W\ T /E\ W /E\ W\ W /E\ W /R\ W\ W /E\ W /R | W\ W /E\ W | R | W\ W /E\ W | T | W\ W /E\ W | T /W\ W /E\ W | T /E\ W /E\ W\ T /E\ W /E\ W\ W /E\ W /E\ W\ W /R\ W /E\ W\ W | R\ W /E\ W\ W | R | W /E\ W\ W | D | W /E\ W\ W | D /W /E\ W\ W | D /W /R\ W\ W | D /W | R\ W\ W | D /W | R | W\ W | D /W | T | W\ W | D /W\ T | W\ W | D /E\ T | /W\ W | D /E\ T /E\ W | D /E\ T /E\ W | D /R\ T /E\ W | D /R | T /E\ W | D | R | T /E\ W | D | D | T /E\ W | D | D | W /R\ W | D | D | W R\ W | D | D | W | R | W | D | D | W | D | W | D | D | W | D | W | D | D | W\ D | W | D | D /W\ D | W | D | D /E\ D /W | D | D /E\ D /W\ D | D /E\ D /E\ D | D /E\ D /E\ D | D /R\ D /E\ D | D | R\ D /E\ D | D | R | D /E\ D | D | D | D /R\ D | D | D | D /R | D | D | D | D | R | D | D | D | D | D | D | D | D | Destroying mutex semaphores... OK