annotate src/modules/thread/threads.cpp @ 1448:108ee2e81f65 default tip

Fix a case typo, imageData.h -> ImageData.h
author Radomir Dopieralski <sheep-devel@sheep.art.pl>
date Sat, 18 Jan 2014 13:57:44 +0100
parents 730ed5f01ab0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1096
86a44f2bc38f CRLF to LF
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1086
diff changeset
1 /**
1282
b7f097053d74 Updated copyright text for the new year
Alex Szpakowski <slime73@gmail.com>
parents: 1096
diff changeset
2 * Copyright (c) 2006-2013 LOVE Development Team
1096
86a44f2bc38f CRLF to LF
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1086
diff changeset
3 *
86a44f2bc38f CRLF to LF
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1086
diff changeset
4 * This software is provided 'as-is', without any express or implied
86a44f2bc38f CRLF to LF
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1086
diff changeset
5 * warranty. In no event will the authors be held liable for any damages
86a44f2bc38f CRLF to LF
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1086
diff changeset
6 * arising from the use of this software.
86a44f2bc38f CRLF to LF
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1086
diff changeset
7 *
86a44f2bc38f CRLF to LF
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1086
diff changeset
8 * Permission is granted to anyone to use this software for any purpose,
86a44f2bc38f CRLF to LF
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1086
diff changeset
9 * including commercial applications, and to alter it and redistribute it
86a44f2bc38f CRLF to LF
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1086
diff changeset
10 * freely, subject to the following restrictions:
86a44f2bc38f CRLF to LF
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1086
diff changeset
11 *
86a44f2bc38f CRLF to LF
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1086
diff changeset
12 * 1. The origin of this software must not be misrepresented; you must not
86a44f2bc38f CRLF to LF
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1086
diff changeset
13 * claim that you wrote the original software. If you use this software
86a44f2bc38f CRLF to LF
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1086
diff changeset
14 * in a product, an acknowledgment in the product documentation would be
86a44f2bc38f CRLF to LF
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1086
diff changeset
15 * appreciated but is not required.
86a44f2bc38f CRLF to LF
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1086
diff changeset
16 * 2. Altered source versions must be plainly marked as such, and must not be
86a44f2bc38f CRLF to LF
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1086
diff changeset
17 * misrepresented as being the original software.
86a44f2bc38f CRLF to LF
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1086
diff changeset
18 * 3. This notice may not be removed or altered from any source distribution.
86a44f2bc38f CRLF to LF
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1086
diff changeset
19 **/
86a44f2bc38f CRLF to LF
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1086
diff changeset
20
86a44f2bc38f CRLF to LF
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1086
diff changeset
21 #include "threads.h"
86a44f2bc38f CRLF to LF
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1086
diff changeset
22
86a44f2bc38f CRLF to LF
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1086
diff changeset
23 namespace love
86a44f2bc38f CRLF to LF
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1086
diff changeset
24 {
86a44f2bc38f CRLF to LF
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1086
diff changeset
25 namespace thread
86a44f2bc38f CRLF to LF
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1086
diff changeset
26 {
86a44f2bc38f CRLF to LF
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1086
diff changeset
27
1098
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
28 Lock::Lock(Mutex *m)
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
29 : mutex(m)
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
30 {
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
31 mutex->lock();
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
32 }
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
33
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
34 Lock::Lock(Mutex &m)
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
35 : mutex(&m)
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
36 {
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
37 mutex->lock();
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
38 }
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
39
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
40 Lock::~Lock()
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
41 {
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
42 mutex->unlock();
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
43 }
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
44
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
45 Threadable::Threadable()
1096
86a44f2bc38f CRLF to LF
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1086
diff changeset
46 {
1098
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
47 owner = newThread(this);
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
48 }
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
49
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
50 Threadable::~Threadable()
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
51 {
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
52 delete owner;
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
53 }
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
54
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
55 bool Threadable::start()
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
56 {
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
57 return owner->start();
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
58 }
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
59
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
60 void Threadable::wait()
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
61 {
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
62 owner->wait();
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
63 }
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
64
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
65 void Threadable::kill()
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
66 {
a74672ba1320 Merge in channels from love-experiments
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1096
diff changeset
67 owner->kill();
1096
86a44f2bc38f CRLF to LF
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1086
diff changeset
68 }
86a44f2bc38f CRLF to LF
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1086
diff changeset
69
86a44f2bc38f CRLF to LF
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1086
diff changeset
70 } // thread
86a44f2bc38f CRLF to LF
Bart van Strien <bart.bes+projects@gmail.com>
parents: 1086
diff changeset
71 } // love